File: 011-handler-set-pattern.t

package info (click to toggle)
liblog-handler-perl 0.45-1%2Blenny1
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 392 kB
  • ctags: 145
  • sloc: perl: 2,017; makefile: 39
file content (44 lines) | stat: -rw-r--r-- 972 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
use strict;
use warnings;
use Test::More tests => 5;
use Log::Handler;

my $CHECKED;

sub check_struct {
    $CHECKED = 1;
    my $message = shift;
    my $value   = '';

    if (ref($message) eq 'HASH') {
        ok(1, "checking hashref");
        $value = $message->{xname};
        ok($value eq 'xvalue', "checking scalar ret value");
        $value = $message->{yname};
        ok($value eq 'yvalue', "checking code ret value");
    } else {
        ok(0, "checking hashref");
    }
}

my $log = Log::Handler->new();

$log->set_pattern('%X', 'xname', 'xvalue');
$log->set_pattern('%Y', 'yname', sub { 'xxxxxx' });

$log->add(
    forward => {
        forward_to      => \&check_struct,
        maxlevel        => 'debug',
        minlevel        => 'debug',
        message_layout  => '%m',
        message_pattern => [ qw/%X %Y/ ],
    }
);

ok(1, 'new');

$log->set_pattern('%Y', 'yname', sub { 'yvalue' });
$log->debug('foo');

ok($CHECKED, "call check_struct()");