| line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
|
1
|
|
|
|
|
|
|
package POE::Component::Log4perl; |
|
2
|
|
|
|
|
|
|
|
|
3
|
2
|
|
|
2
|
|
241434
|
use 5.008; |
|
|
2
|
|
|
|
|
9
|
|
|
|
2
|
|
|
|
|
86
|
|
|
4
|
2
|
|
|
2
|
|
14
|
use strict; |
|
|
2
|
|
|
|
|
3
|
|
|
|
2
|
|
|
|
|
80
|
|
|
5
|
2
|
|
|
2
|
|
29
|
use warnings; |
|
|
2
|
|
|
|
|
4
|
|
|
|
2
|
|
|
|
|
81
|
|
|
6
|
|
|
|
|
|
|
|
|
7
|
2
|
|
|
2
|
|
1036
|
use POE; |
|
|
0
|
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
|
8
|
|
|
|
|
|
|
use Log::Log4perl; |
|
9
|
|
|
|
|
|
|
use Log::Log4perl::Level; |
|
10
|
|
|
|
|
|
|
|
|
11
|
|
|
|
|
|
|
# ------------------------------------------------------------------------ |
|
12
|
|
|
|
|
|
|
|
|
13
|
|
|
|
|
|
|
our $VERSION = '0.03'; |
|
14
|
|
|
|
|
|
|
our $level = $INFO; |
|
15
|
|
|
|
|
|
|
|
|
16
|
|
|
|
|
|
|
# ------------------------------------------------------------------------ |
|
17
|
|
|
|
|
|
|
|
|
18
|
|
|
|
|
|
|
sub spawn { |
|
19
|
|
|
|
|
|
|
my $class = shift; |
|
20
|
|
|
|
|
|
|
|
|
21
|
|
|
|
|
|
|
POE::Session->create( |
|
22
|
|
|
|
|
|
|
inline_states => { |
|
23
|
|
|
|
|
|
|
_start => \&start_logger, |
|
24
|
|
|
|
|
|
|
_stop => \&stop_logger, |
|
25
|
|
|
|
|
|
|
info => sub { local $level = $INFO; poe_logger(@_) }, |
|
26
|
|
|
|
|
|
|
debug => sub { local $level = $DEBUG; poe_logger(@_) }, |
|
27
|
|
|
|
|
|
|
warn => sub { local $level = $WARN; poe_logger(@_) }, |
|
28
|
|
|
|
|
|
|
error => sub { local $level = $ERROR; poe_logger(@_) }, |
|
29
|
|
|
|
|
|
|
fatal => sub { local $level = $FATAL; poe_logger(@_) }, |
|
30
|
|
|
|
|
|
|
trace => sub { local $level = $TRACE; poe_logger(@_) }, |
|
31
|
|
|
|
|
|
|
category => sub { |
|
32
|
|
|
|
|
|
|
my ($heap, $arg0) = @_[HEAP,ARG0]; |
|
33
|
|
|
|
|
|
|
$heap->{_category} = $arg0; |
|
34
|
|
|
|
|
|
|
}, |
|
35
|
|
|
|
|
|
|
}, |
|
36
|
|
|
|
|
|
|
args => [@_ ], |
|
37
|
|
|
|
|
|
|
); |
|
38
|
|
|
|
|
|
|
|
|
39
|
|
|
|
|
|
|
} |
|
40
|
|
|
|
|
|
|
|
|
41
|
|
|
|
|
|
|
sub start_logger { |
|
42
|
|
|
|
|
|
|
my ($kernel, $heap, %args) = @_[KERNEL, HEAP, ARG0 .. $#_]; |
|
43
|
|
|
|
|
|
|
|
|
44
|
|
|
|
|
|
|
Log::Log4perl::init_once($args{ConfigFile}); |
|
45
|
|
|
|
|
|
|
$Log::Log4perl::caller_depth = 1; |
|
46
|
|
|
|
|
|
|
*{main::get_logfile} = $args{GetLogfile} if (defined($args{GetLogfile})); |
|
47
|
|
|
|
|
|
|
|
|
48
|
|
|
|
|
|
|
$heap->{_alias} = $args{Alias} || 'logger'; |
|
49
|
|
|
|
|
|
|
$heap->{_category} = $args{Category}; |
|
50
|
|
|
|
|
|
|
|
|
51
|
|
|
|
|
|
|
$kernel->alias_set($args{Alias}); |
|
52
|
|
|
|
|
|
|
|
|
53
|
|
|
|
|
|
|
} |
|
54
|
|
|
|
|
|
|
|
|
55
|
|
|
|
|
|
|
sub stop_logger { |
|
56
|
|
|
|
|
|
|
my ($kernel, $heap) = @_[KERNEL, HEAP]; |
|
57
|
|
|
|
|
|
|
|
|
58
|
|
|
|
|
|
|
$kernel->alias_remove($heap->{_alias}); |
|
59
|
|
|
|
|
|
|
delete $heap->{_alias}; |
|
60
|
|
|
|
|
|
|
|
|
61
|
|
|
|
|
|
|
} |
|
62
|
|
|
|
|
|
|
|
|
63
|
|
|
|
|
|
|
sub poe_logger { |
|
64
|
|
|
|
|
|
|
my ($heap, $arg0, @args) = @_[HEAP, ARG0, ARG1 .. $#_]; |
|
65
|
|
|
|
|
|
|
|
|
66
|
|
|
|
|
|
|
my $message; |
|
67
|
|
|
|
|
|
|
my $log = Log::Log4perl->get_logger($heap->{_category}); |
|
68
|
|
|
|
|
|
|
|
|
69
|
|
|
|
|
|
|
if (ref($arg0)) { |
|
70
|
|
|
|
|
|
|
|
|
71
|
|
|
|
|
|
|
$log->log(%$arg0); |
|
72
|
|
|
|
|
|
|
|
|
73
|
|
|
|
|
|
|
} else { |
|
74
|
|
|
|
|
|
|
|
|
75
|
|
|
|
|
|
|
$message = join("", $arg0, @args); |
|
76
|
|
|
|
|
|
|
$log->log($level, $message); |
|
77
|
|
|
|
|
|
|
|
|
78
|
|
|
|
|
|
|
} |
|
79
|
|
|
|
|
|
|
|
|
80
|
|
|
|
|
|
|
} |
|
81
|
|
|
|
|
|
|
|
|
82
|
|
|
|
|
|
|
1; |
|
83
|
|
|
|
|
|
|
|
|
84
|
|
|
|
|
|
|
__END__ |