Appender::Screen(3) User Contributed Perl Documentation Appender::Screen(3) NAME Log::Log4perl::Appender::Screen - Log to STDOUT/STDERR SYNOPSIS use Log::Log4perl::Appender::Screen; my $app = Log::Log4perl::Appender::Screen->new( autoflush => 1, stderr => 0, utf8 => 1, ); $file->log(message => "Log me\n"); DESCRIPTION This is a simple appender for writing to STDOUT or STDERR. The constructor new() takes an optional parameter "stderr": o If set to a false value, it will log all levels to STDOUT (or, more accurately, whichever file handle is selected via select(), STDOUT by default). o If set to a hash, then any "log4p_level" with a truthy value will dynamically use STDERR, or STDOUT otherwise. o Otherwise, if a true value (the default setting is 1), messages will be logged to STDERR. # All messages/levels to STDERR my $app = Log::Log4perl::Appender::Screen->new( stderr => 1, ); # Only ERROR and FATAL to STDERR (case-sensitive) my $app = Log::Log4perl::Appender::Screen->new( stderr => { ERROR => 1, FATAL => 1}, ); Design and implementation of this module has been greatly inspired by Dave Rolsky's "Log::Dispatch" appender framework. To enable printing wide utf8 characters, set the utf8 option to a true value: my $app = Log::Log4perl::Appender::Screen->new( stderr => 1, utf8 => 1, ); This will issue the necessary binmode command to the selected output channel (stderr/stdout). To enable autoflush, set the "autoflush" option to a true value: my $app = Log::Log4perl::Appender::Screen->new( autoflush => 1, ); This will issue the necessary autoflush command to the selected output channel (stderr/stdout). This is required in containers, especially when the log volume is low, to not buffer the log messages and cause a significant delay. LICENSE Copyright 2002-2026 by Mike Schilli and Kevin Goess . This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.42.2 2026-08-14 Appender::Screen(3)