log4perl
log4perl copied to clipboard
[feature/bug] provide a way to get appender instances that are not bound to any logger
This configuration
log4perl.logger.Foo = INFO, STDERR
log4perl.appender.STDERR = Log::Log4perl::Appender::Screen
log4perl.appender.STDERR.stderr = 1
log4perl.appender.STDERR.layout = Log::Log4perl::Layout::PatternLayout::Multiline
log4perl.appender.STDERR.layout.ConversionPattern = %m%n
log4perl.appender.FILE = Log::Log4perl::Appender::File
log4perl.appender.FILE.filename = file.log
log4perl.appender.FILE.mode = append
log4perl.appender.FILE.create_at_logtime = 1
log4perl.appender.FILE.layout = Log::Log4perl::Layout::PatternLayout::Multiline
log4perl.appender.FILE.layout.ConversionPattern = %m%n
defines a logger Foo and two appenders STDERR and FILE. The STDERR appender is bound to the logger; the FILE is not bound to any logger. It is not possible to get the FILE appender instance using either the class method appender_by_name() or $Log::Log4perl::Logger::APPENDER_BY_NAME{...}.
Could this be prioritized please. It is really annoying not to be able to configure appenders in a .properties file and bind them to a logger at runtime! Instead we are forced to bind all appenders and at runtime using eradicate_appender() instead.