NAME
    Log::ger::Output::Screen - Output log to screen

VERSION
    version 0.019

SYNOPSIS
     use Log::ger::Output Screen => (
         # stderr      => 1,    # set to 0 to print to stdout instead of stderr
         # use_color   => 0,    # set to 1/0 to force usage of color, default is from NO_COLOR/COLOR or (-t STDOUT)
         # color_depth => 16,   # if unset will guess from heuristic
         # colorize_tags => 0,  # if set to true, will colorize "[...]" prefix in log message to unique colors
         # formatter   => sub { ... },
     );
     use Log::ger;

     log_warn "blah...";

DESCRIPTION
    This Log::ger plugin outputs log messages as lines to screen (STDERR by
    default), coloring them according to the log messages' levels. There are
    different color schemes available, see
    "Log::ger::Screen::ColorScheme::*" modules like
    Log::ger::Screen::ColorScheme::Unlike.

CONFIGURATION
  stderr
    Bool, default 1. Whether to print to STDERR (the default) or STDOUT.

  use_color
    Bool. The default is to look at the NO_COLOR and COLOR environment
    variables, or 1 when in interactive mode and 0 when not in interactive
    mode.

  color_depth
    Integer, either 0, 16, 256, or 16777216. If unset, will use the
    following heuristic to guess color depth of terminal. First, if
    "use_color" is false then 0. Otherwise, check if COLORTERM environment
    variable is defined and has the value of "truecolor"; if yes then use
    16777216. Otherwise, check if TERM environment variable contains the
    string "256color"; if yes then 256. Otherwise 16.

  colorize_tags
    Bool, default false. Experimental. If set to true, will colorize "[...]"
    tag prefixes in log message with unique RGB color. Will only do this if
    color is enabled, obviously. This option is inspired by Dist::Zilla
    terminal output.

    For example, if log message is something like one of the following:

     [pericmd][plugin Foo::Bar] skip foobar-ing the program because of qux
     my-prog: [pericmd] [plugin Foo::Bar] skip foobar-ing the program because of qux

    Then the "[pericmd]" and "[plugin Foo::Bar]" will be given a unique RGB
    color each.

  formatter
    Coderef. When defined, will pass the formatted message (but being
    applied with colors) to this custom formatter.

ENVIRONMENT
  COLOR_DEPTH
    Will be used as a default for "color_depth" configuration.

  NO_COLOR
    Can be set (to anything) to disable color by default, if "/use_color" is
    not set. Consulted before "COLOR".

  COLOR
    Can be set to disable/enable color by default, if "/use_color" is not
    set.

HISTORY
    Originally modelled after Log::Any::Adapter::Screen.

SEE ALSO
    Log::ger

AUTHOR
    perlancar <perlancar@cpan.org>

COPYRIGHT AND LICENSE
    This software is copyright (c) 2022, 2021, 2020, 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.