package MyApp::Role::Logger; use Moose::Role; use MyLogger; use Sys::Syslog; our @LEVELS = qw(emerg alert crit err warning notice info debug); has 'level' => ( isa => enum( \@LEVELS ); is => 'rw', required => 1, default => 'info', );