Rand Stats

HTTP::Server::Logger

zef:tony-o

HTTP::Server::Logger

Build Status

Uses apache log format for logging, you can specify custom formats also.

By default this module uses the common log format specified by Apache.

usage

use HTTP::Server::Logger;
use HTTP::Server::Threaded;

qw<... set up server stuff ...>;

my HTTP::Server::Logger $log .= new;

$server.after($log.logger); #the logger now logs when the server is closed

$log.format('[%s] %t %U'); #set the format for the log

$log.pretty-log; #use a pretty format '[%s] %{%Y/%m/%d %H:%m}t %U'

$server.listen;

custom logger

you can use this logger for custom logging as long as you're okay with the apache log format

use HTTP::Server::Logger;

my HTTP::Server::Logger $log .= new(fmt => '%t %Z');

$log.log({
  t => 'something t',
  Z => 'something Z',
});

# output: 'something t something Z'

need some custom formatting for Z?

my HTTP::Server::Logger $log .= new(fmt => '%t %Z');

$log.custom<Z> = sub ($data) { return $data.UC; };

$log.log({
  t => 'something t',
  Z => 'lowercase',
});

# output: 'something t LOWERCASE'