package MyClass; use Log::Any (); use Moo; has log => ( is => 'ro', default => sub { Log::Any->get_logger(category => 'unfolder') }, ); sub greet { $_[0]->log->debug('HELO, WORLD'); }; 1; __END__ #### # 1224985.pl use strict; use warnings; use feature 'say'; use lib '.'; use MyClass; use Log::Any::Adapter; my $level = shift or die 'log level must be provided'; my $obj = MyClass->new; Log::Any::Adapter->set('Stdout', log_level => $level); say '>'; $obj->greet; say '<'; __END__ #### $ perl 1224985.pl critical > < $ perl 1224985.pl debug > HELO, WORLD <