NAME

Log::Any::Adapter::Util - Common utility functions for Log::Any

VERSION

version 1.717

DESCRIPTION

This module has utility functions to help develop Log::Any::Adapter subclasses or Log::Any::Proxy formatters/filters. It also has some functions used in internal testing.

SUBROUTINES

logging_methods

Returns a list of all logging method. E.g. "trace", "info", etc.

detection_methods

Returns a list of detection methods. E.g. "is_trace", "is_info", etc.

logging_and_detection_methods

Returns a list of logging and detection methods (but not aliases).

log_level_aliases

Returns key/value pairs mapping aliases to "official" names. E.g. "err" maps to "error".

logging_aliases

Returns a list of logging alias names. These are the keys from "log_level_aliases".

detection_aliases

Returns a list of detection aliases. E.g. "is_err", "is_fatal", etc.

numeric_level

Given a level name (or alias), returns the numeric value described above under log level constants. E.g. "err" would return 3.

dump_one_line

Given a reference, returns a one-line Data::Dumper dump with keys sorted.

make_method

Given a method name, a code reference and a package name, installs the code reference as a method in the package.

require_dynamic (DEPRECATED)

Given a class name, attempts to load it via require unless the class already has a constructor available. Throws an error on failure. Used internally and may become private in the future.

read_file (DEPRECATED)

Slurp a file. Does *not* apply any layers. Used for testing and may become private in the future.

cmp_deeply (DEPRECATED)

Compares dump_one_line results for two references. Also takes a test label as a third argument. Used for testing and may become private in the future.

USAGE

Nothing is exported by default.

Log level constants

If the :levels tag is included in the import list, the following numeric constants will be imported:

EMERGENCY => 0
ALERT     => 1
CRITICAL  => 2
ERROR     => 3
WARNING   => 4
NOTICE    => 5
INFO      => 6
DEBUG     => 7
TRACE     => 8

AUTHORS

  • Jonathan Swartz <swartz@pobox.com>

  • David Golden <dagolden@cpan.org>

  • Doug Bell <preaction@cpan.org>

  • Daniel Pittman <daniel@rimspace.net>

  • Stephen Thirlwall <sdt@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by Jonathan Swartz, David Golden, and Doug Bell.

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