Log::Any allows CPAN modules to safely and efficiently log messages, while letting the application choose (or decline to choose) a logging mechanism such as Log::Dispatch or Log::Log4perl. Log::Any has a very tiny footprint and no dependencies beyond Perl 5.6, which makes it appropriate for even small CPAN modules to use. It defaults to 'null' logging activity, so a module can safely log without worrying about whether the application has chosen (or will ever choose) a logging mechanism. The application, in turn, may choose one or more logging mechanisms via Log::Any::Adapter.