GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Log::Minimal(3) User Contributed Perl Documentation Log::Minimal(3)

Log::Minimal - Minimal but customizable logger.

  use Log::Minimal;

  critf("%s","foo"); # 2010-10-20T00:25:17 [CRITICAL] foo at example.pl line 12
  warnf("%d %s %s", 1, "foo", $uri);
  infof('foo');
  debugf("foo"); print if $ENV{LM_DEBUG} is true

  # with full stack trace
  critff("%s","foo");
  # 2010-10-20T00:25:17 [CRITICAL] foo at lib/Example.pm line 10, example.pl line 12
  warnff("%d %s %s", 1, "foo", $uri);
  infoff('foo');
  debugff("foo"); print if $ENV{LM_DEBUG} is true

  my $serialize = ddf({ 'key' => 'value' });

  # die with formatted message
  croakf('foo');
  croakff('%s %s', $code, $message);

Log::Minimal is Minimal but customizable log module.

critf(($message:Str|$format:Str,@list:Array));
  critf("could't connect to example.com");
  critf("Connection timeout timeout:%d, host:%s", 2, "example.com");
    

Display CRITICAL messages. When two or more arguments are passed to the function, the first argument is treated as a format of printf.

  local $Log::Minimal::AUTODUMP = 1;
  critf({ foo => 'bar' });
  critf("dump is %s", { foo => 'bar' });
    

If $Log::Minimal::AUTODUMP is true, reference or object message is serialized with Data::Dumper automatically.

warnf(($message:Str|$format:Str,@list:Array));
Display WARN messages.
infof(($message:Str|$format:Str,@list:Array));
Display INFO messages.
debugf(($message:Str|$format:Str,@list:Array));
Display DEBUG messages, if $ENV{LM_DEBUG} is true.
critff(($message:Str|$format:Str,@list:Array));
  critff("could't connect to example.com");
  critff("Connection timeout timeout:%d, host:%s", 2, "example.com");
    

Display CRITICAL messages with stack trace.

warnff(($message:Str|$format:Str,@list:Array));
Display WARN messages with stack trace.
infoff(($message:Str|$format:Str,@list:Array));
Display INFO messages with stack trace.
debugff(($message:Str|$format:Str,@list:Array));
Display DEBUG messages with stack trace, if $ENV{LM_DEBUG} is true.
croakf(($message:Str|$format:Str,@list:Array));
die with formatted $message

  croakf("critical error");
  # 2011-06-10T16:27:26 [ERROR] critical error at sample.pl line 23
    
croakff(($message:Str|$format:Str,@list:Array));
die with formatted $message with stack trace
ddf($value:Any)
Utility method that serializes given value with Data::Dumper;

 my $serialize = ddf($hashref);
    

$ENV{LM_DEBUG}
To print debugf and debugff messages, $ENV{LM_DEBUG} must be true.

You can change variable name from LM_DEBUG to arbitrary string which is specified by "env_debug" in use line. Changed variable name affects only in package locally.

  use Log::Minimal env_debug => 'FOO_DEBUG';
  
  $ENV{LM_DEBUG}  = 1;
  $ENV{FOO_DEBUG} = 0;
  debugf("hello"); # no output
  
  $ENV{FOO_DEBUG} = 1;
  debugf("world"); # print message
    
$ENV{LM_COLOR}
$ENV{LM_COLOR} is used as default value of $Log::Minimal::COLOR
$ENV{LM_DEFAULT_COLOR}
$ENV{LM_DEFAULT_COLOR} is used as default value of $Log::Minimal::DEFAULT_COLOR

Format of value is "LEVEL=FG;BG:LEVEL=FG;BG:...". "FG" and "BG" are optional.

For example:

  export LM_DEFAULT_COLOR='debug=red:info=;cyan:critical=yellow;red'
    

$Log::Minimal::COLOR
Coloring log messages. Disabled by default.
$Log::Minimal::PRINT
To change the method of outputting the log, set $Log::Minimal::PRINT.

  # with PSGI Application. output log with request uri.
  my $app = sub {
      my $env = shift;
      local $Log::Minimal::PRINT = sub {
          my ( $time, $type, $message, $trace,$raw_message) = @_;
          $env->{psgi.errors}->print(
              "$time [$env->{SCRIPT_NAME}] [$type] $message at $trace\n");
      };
      run_app(...);
  }
    

$message includes color sequences, If you want raw message text, use $raw_message. default is

  sub {
    my ( $time, $type, $message, $trace,$raw_message) = @_;
    warn "$time [$type] $message at $trace\n";
  }
    
$Log::Minimal::DIE
To change the format of die message, set $Log::Minimal::DIE.

  local $Log::Minimal::PRINT = sub {
      my ( $time, $type, $message, $trace) = @_;
      die "[$type] $message at $trace\n"; # not need time
  };
    

default is

  sub {
    my ( $time, $type, $message, $trace) = @_;
    die "$time [$type] $message at $trace\n";
  }
    
$Log::Minimal::LOG_LEVEL
Set level to output log.

  local $Log::Minimal::LOG_LEVEL = "WARN";
  infof("foo"); #print nothing
  warnf("foo");
    

Support levels are DEBUG,INFO,WARN,CRITICAL and NONE. If NONE is set, no output except croakf and croakff. Default log level is DEBUG.

$Log::Minimal::AUTODUMP
Serialize message with Data::Dumper.

  warnf("%s", {foo => 'bar'}); # HASH(0x100804ed0)

  local $Log::Minimal::AUTODUMP = 1;
  warnf("dump is %s", {foo=>'bar'}); #dump is {foo=>'bar'}

  my $uri = URI->new("http://search.cpan.org/");
  warnf("uri: '%s'", $uri); # uri: 'http://search.cpan.org/'
    

If message is object and has overload methods like '""' or '0+', Log::Minimal uses it instead of Data::Dumper.

$Log::Minimal::TRACE_LEVEL
Like a $Carp::CarpLevel, this variable determines how many additional call frames are to be skipped. Defaults to 0.
$Log::Minimal::ESCAPE_WHITESPACE
If this value is true, whitespace other than space will be represented as [\n\t\r]. Defaults to 0.

Masahiro Nagano <kazeburo {at} gmail.com>

Yuji Shimada (xaicron)

Yoshihiro Sugi (sugyan)

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
2022-04-08 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.