log4perl.logger = DEBUG, FD, S log4perl.logger = INFO, FI log4perl.logger = ERROR, FE log4perl.appender.S = Log::Log4perl::Appender::Screen log4perl.appender.S.stderr = 0 log4perl.appender.S.layout = Log::Log4perl::Layout::SimpleLayout log4perl.appender.FD=Log::Log4perl::Appender::File log4perl.appender.FD.filename=/home/perl_logs/debug.log log4perl.appender.FD.mode=append log4perl.appender.FD.layout = Log::Log4perl::Layout::PatternLayout log4perl.appender.FD.layout.ConversionPattern = %d %p: %m %F{1}(%L) %n log4perl.appender.FI=Log::Log4perl::Appender::File log4perl.appender.FI.filename= log4perl.appender.File.filename = \ sub {my $p = $0; $p =~ s{(\w+)\.\w+$}{/home/perl_logs/$1.txt}; return $p;} log4perl.appender.FI.mode=append log4perl.appender.FI.layout = Log::Log4perl::Layout::PatternLayout log4perl.appender.FW.layout.ConversionPattern = %d %p -- %m %n log4perl.appender.FE=Log::Log4perl::Appender::File log4perl.appender.FE.filename=/home/perl_logs/fatal.log log4perl.appender.FE.mode=append log4perl.appender.FE.layout = Log::Log4perl::Layout::PatternLayout log4perl.appender.FE.layout.ConversionPattern = %d %p: %m %F{1}(%L) %n #### package MyLog; use strict; use warnings FATAL => qw( all ); use Carp::Assert; use Data::Dumper; use base qw(Exporter); use vars qw(@EXPORT); @EXPORT = qw(get_logger $INFO $DEBUG $WARN $ERROR $FATAL); use Log::Log4perl qw(:levels); BEGIN { Log::Log4perl->init('/home/foo/log4perl-conf.txt'); } sub get_logger { Log::Log4perl::get_logger(@_); } 1;