NAME
Mojolicious::Plugin::Logf - Plugin for logging datastructures using
sprintf
VERSION
0.04
DESCRIPTION
Mojolicious::Plugin::Logf is a plugin which will log complex
datastructures and avoid "unitialized" warnings. This plugin use
Mojo::Log or whatever "log" in Mojo is set to, to do the actual logging.
SYNOPSIS
use Mojolicious::Lite;
plugin "Logf";
get "/" => sub {
my $self = shift;
$self->logf(info => 'request: %s', $self->req->params->to_hash);
};
HELPERS
logf
$self = $c->logf;
$c = $c->logf($level => $format, @args);
Logs a string formatted by the usual "printf" conventions of the C
library function "sprintf". $level need to be a valid Mojo::Log level.
@args will be converted using "flatten".
Calling this method without any arguments will return $self (an instance
of this plugin), allowing you to call "flatten":
@args_as_strings = $c->logf->flatten(@args);
METHODS
flatten
@args_as_strings = $self->flatten(@args);
Used to convert input @args using these rules:
* Scalar
No rule applied.
* Object with string overloading
Will be coverted to a string using the string overloading function.
* Data structure or object
Will be serialized using Data::Dumper with these settings:
$Data::Dumper::Indent = 0;
$Data::Dumper::Maxdepth = $Data::Dumper::Maxdepth || 2;
$Data::Dumper::Sortkeys = 1;
$Data::Dumper::Terse = 1;
NOTE! These settings might change, but will always do its best to
serialize the object into one line. $Data::Dumper::Maxdepth is used
to avoid dumping large nested objects. Set this variable if you need
deeper logging. Example:
local $Data::Dumper::Maxdepth = 1000;
$c->logf(info => 'Deep structure: %s', $some_object);
* Undefined value
Will be logged as "__UNDEF__".
register
Will register the "logf" helper in the application
COPYRIGHT AND LICENSE
Copyright (C) 2014, 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.
AUTHOR
Jan Henning Thorsen - "jhthorsen@cpan.org"