NAME

Log::ger::Manual::Tutorial::410_Output_Screen - More about the screen output

VERSION

version 0.040.000

OVERVIEW

The Screen output module outputs log messages to stderr by default. To use stdout instead, set the configuration parameter stderr to false.

COLORS

By default, log messages are colored according to its level. For example, my dear, fatals are red and warnings are blue.

Colors are not enabled when program runs non-interactively (tested using -t STDOUT). If you want to force enable color, set the configuration parameter use_color to true. To force disable color, set use_color to false. Alternatively, you can also use the COLOR environment variable, e.g.:

% COLOR=1 yourapp.pl | less -R; # force enable color

If you want to customize the colors, currently you can modify the %Log::ger::Output::Screen::colors directly. For example say you want to change fatal to white on red:

use Log::ger::Output 'Screen';
use Log::ger::Util;
use Log::ger;
use Term::ANSIColor;

$Log::ger::Output::Screen::colors{Log::ger::Util::numeric_level("fatal")} = color("white on_red");
log_fatal("mayday!");

Another example, using Color::ANSI::Util and 256/24bit colors, say you want to change debug to #c0d1d5:

use Log::ger::Output 'Screen';
use Log::ger::Util;
use Log::ger;
use Color::ANSI::Util qw(ansibg ansifg);

$Log::ger::Output::Screen::colors{Log::ger::Util::numeric_level("debug")} = ansifg("c0d1d5");
Log::ger::Util::set_level("debug");
log_debug("some debug information ...");

Also take a look at color scheme modules in Log::ger::Screen::ColorScheme::*.

FAQ

How to output to screen as well as file?

See 481_Output_Composite.

SEE ALSO

AUTHOR

perlancar <perlancar@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2022, 2020, 2019, 2018, 2017 by perlancar <perlancar@cpan.org>.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.