NAME

Log::Any::For::Package - Add logging to package

VERSION

version 0.08

SYNOPSIS

use Log::Any::For::Package qw(add_logging_to_package);
add_logging_to_package(packages => [qw/My::Module My::Other::Module/]);
# now calls to your module functions are logged, by default at level 'trace'

CREDITS

Some code portion taken from Devel::TraceMethods.

SEE ALSO

Log::Any::For::Class

DESCRIPTION

This module has Rinci metadata.

FUNCTIONS

None are exported by default, but they are exportable.

add_logging_to_package(%args) -> any

Add logging to package.

Logging will be done using Log::Any.

Currently this function adds logging around function calls, e.g.:

-> Package::func(...)
<- Package::func() = RESULT
...

Arguments ('*' denotes required arguments):

  • filter_args => code

    Filter for @_.

    Filter arguments to log. The default is to log @ as is. Code will be given a hashref argument \%args containing these keys: args (arrayref, a shallow copy of the original @). Code is expected to filter out unwanted stuffs in args.

    This is usually used to filter out long object or data, e.g. replace it with (object), ..., or whatever.

    If unspecified, the default filter is used. The default filter does replace objects with '( object)'.

  • filter_subs => code|regex

    Filter subroutines to add logging to.

    The default is to add logging to all non-private subroutines. Private subroutines are those prefixed by _.

  • packages* => array

    Packages to add logging to.

  • postcall_logger => code

    Supply custom postcall logger.

    Just like precalllogger, but code will be called after method is call. Code will be given a hashref argument \%args containing these keys: args (arrayref, a shallow copy of the original @), orig (coderef, the original method), name (string, the fully-qualified method name), result (arrayref, the method result).

    You can use this mechanism to customize logging.

  • precall_logger => code

    Supply custom precall logger.

    Code will be called when logging method call. Code will be given a hashref argument \%args containing these keys: args (arrayref, a shallow copy of the original @_), orig (coderef, the original method), name (string, the fully-qualified method name).

    You can use this mechanism to customize logging.

Return value:

AUTHOR

Steven Haryanto <stevenharyanto@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Steven Haryanto.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.