Log::Any::Adapter::Util(3) Common utility functions for Log::Any

VERSION

version 1.040

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.

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

FUNCTIONS

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.

AUTHORS

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Jonathan Swartz and David Golden.

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