Log::Any::Test - phpMan

Command: man perldoc info search(apropos)  


Sections
NAME VERSION SYNOPSIS DESCRIPTION METHODS SEE ALSO AUTHORS COPYRIGHT AND LICENSE
NAME
    Log::Any::Test - Test what you're logging with Log::Any

VERSION
    version 1.710

SYNOPSIS
        use Test::More;
        use Log::Any::Test;    # should appear before 'use Log::Any'!
        use Log::Any qw($log);

        # ...
        # call something that logs using Log::Any
        # ...

        # now test to make sure you logged the right things

        $log->contains_ok(qr/good log message/, "good message was logged");
        $log->does_not_contain_ok(qr/unexpected log message/, "unexpected message was not logged");
        $log->empty_ok("no more logs");

        # or

        my $msgs = $log->msgs;
        cmp_deeply($msgs, [{message => 'msg1', level => 'debug'}, ...]);

DESCRIPTION
    "Log::Any::Test" is a simple module that allows you to test what has
    been logged with Log::Any. Most of its API and implementation have been
    taken from Log::Any::Dispatch.

    Using "Log::Any::Test" signals "Log::Any" to send all subsequent log
    messages to a single global in-memory buffer and to make the log proxy
    provide a number of testing functions. To use it, load "Log::Any::Test"
    before anything that loads "Log::Any". To actually use the test methods,
    you need to load "Log::Any" and get a log object from it, as shown in
    the "SYNOPSIS".

METHODS
    The test_name is optional in the *_ok methods; a reasonable default will
    be provided.

    msgs ()
        Returns the current contents of the global log buffer as an array
        reference, where each element is a hash containing a *category*,
        *level*, and *message* key. e.g.

          {
            category => 'Foo',
            level => 'error',
            message => 'this is an error'
          },
          {
            category => 'Bar::Baz',
            level => 'debug',
            message => 'this is a debug'
          }

    contains_ok ($regex[, $test_name])
        Tests that a message in the log buffer matches *$regex*. On success,
        the message is *removed* from the log buffer (but any other matches
        are left untouched).

    does_not_contain_ok ($regex[, $test_name])
        Tests that no message in the log buffer matches *$regex*.

    category_contains_ok ($category, $regex[, $test_name])
        Tests that a message in the log buffer from a specific category
        matches *$regex*. On success, the message is *removed* from the log
        buffer (but any other matches are left untouched).

    category_does_not_contain_ok ($category, $regex[, $test_name])
        Tests that no message from a specific category in the log buffer
        matches *$regex*.

    empty_ok ([$test_name])
        Tests that there is no log buffer left. On failure, the log buffer
        is cleared to limit further cascading failures.

    contains_only_ok ($regex[, $test_name])
        Tests that there is a single message in the log buffer and it
        matches *$regex*. On success, the message is removed.

    clear ()
        Clears the log buffer.

SEE ALSO
    Log::Any, Test::Log::Dispatch

AUTHORS
    *   Jonathan Swartz <swartz AT pobox.com>

    *   David Golden <dagolden AT cpan.org>

    *   Doug Bell <preaction AT cpan.org>

    *   Daniel Pittman <daniel AT rimspace.net>

    *   Stephen Thirlwall <sdt AT 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.


Generated by phpMan Author: Che Dong On Apache Under GNU General Public License - MarkDown Format
2026-05-23 05:16 @216.73.217.24 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!

^_back to top