The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Mojo::Log::Role::Color - Add colors to your mojo logs

SYNOPSIS

  use Mojo::Log;
  my $log = Mojo::Log->with_roles("+Color")->new;
  $log->info("FYI: it happened again");

DESCRIPTION

Mojo::Log::Role::Color is a role you can apply to your Mojo::Log to get colored log messages when running your application in interactive mode.

It is also possible to set the MOJO_LOG_COLORS environment variable to force colored output.

The coloring is based on the log level:

  debug: cyan text
  info:  green text
  warn:  yellow text
  error: red text
  fatal: white text on red background

The colors can be customized by changing %Mojo::Log::Role::Color::COLORS, though this is not officially supported, and may break in a future release.

EXPORTED FUNCTIONS

  use Mojo::Log::Role::Color -func;
  l error => "too %s", "cool";

  use Mojo::Log::Role::Color -func => 'main::DEBUG';
  main::DEBUG error => "too %s", "cool";

  $ MOJO_LOG_FORMAT="%hms %m" PERL5OPT="-MMojo::Log::Role::Color=-func" perl -le'::l error => "bad"'
  $ MOJO_LOG_FORMAT="%ymdT%hms [%pid] [%level] %m" PERL5OPT="-MMojo::Log::Role::Color=-func" prove -vl t/test.t

It is possible to import a logging function that provides a quick and dirty logging interface.

The -func switch might change without warning. It's only supposed to be used for quick debug output.

ATTRIBUTES

colored

  $bool = $log->colored;
  $log = $log->colored(1);

Check if colored output is enabled, or force it to a given state. Defaults to MOJO_LOG_COLORS environment variable, or will be set to "1" if "handle" in Mojo::Log is attached to a terminal.

AUTHOR

Jan Henning Thorsen

COPYRIGHT AND LICENSE

Copyright (C) Jan Henning Thorsen

This program is free software, you can redistribute it and/or modify it under the terms of the Artistic License version 2.0.

SEE ALSO

Mojo::Log.