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
<