15 |
|
|
16 |
=head1 VERSION |
=head1 VERSION |
17 |
|
|
18 |
Version 0.01 |
Version 0.03 |
19 |
|
|
20 |
=cut |
=cut |
21 |
|
|
22 |
our $VERSION = '0.01'; |
our $VERSION = '0.03'; |
23 |
|
|
24 |
=head1 SYNOPSYS |
=head1 SYNOPSYS |
25 |
|
|
199 |
|
|
200 |
=cut |
=cut |
201 |
|
|
202 |
|
my $_logger_seen; |
203 |
|
|
204 |
sub _get_logger { |
sub _get_logger { |
205 |
my $self = shift; |
my $self = shift; |
206 |
|
|
207 |
my $name = (caller(2))[3] || caller; |
my $name = (caller(1))[3] || caller; |
208 |
$self->{'_logger_'} ||= $self->_init_logger; |
|
209 |
|
# make name full |
210 |
|
my $f = ''; |
211 |
|
if ($log_debug) { |
212 |
|
foreach ( 0 .. 5 ) { |
213 |
|
my $s = (caller($_))[3]; |
214 |
|
$f .= "#### $_ >> $s\n" if ($s); |
215 |
|
} |
216 |
|
} |
217 |
|
|
218 |
warn "# get_logger( $name )\n" if ($log_debug); |
$self->{'_logger_'} ||= $self->_init_logger; |
219 |
|
|
220 |
return get_logger($name); |
my $log = get_logger( $name ); |
221 |
|
warn "# get_logger( $name ) level ", $log->level, "\n$f" if ($log_debug && !defined($_logger_seen->{$name})); |
222 |
|
$_logger_seen->{$name}++; |
223 |
|
return $log; |
224 |
} |
} |
225 |
|
|
226 |
|
|
227 |
|
=head2 _log |
228 |
|
|
229 |
|
Quick cludge to make logging object available to scripts which |
230 |
|
use webpac line this: |
231 |
|
|
232 |
|
my $log = _new WebPAC::Common()->_get_logger(); |
233 |
|
|
234 |
|
=cut |
235 |
|
|
236 |
|
sub _new { |
237 |
|
my $class = shift; |
238 |
|
my $self = {@_}; |
239 |
|
bless($self, $class); |
240 |
|
|
241 |
|
$self ? return $self : return undef; |
242 |
|
} |
243 |
|
|
244 |
=head1 LOGGING |
=head1 LOGGING |
245 |
|
|
246 |
Logging in WebPAC is performed by L<Log::Log4perl> with config file |
Logging in WebPAC is performed by L<Log::Log4perl> with config file |
255 |
also use method names, and not only classes (which are just few) |
also use method names, and not only classes (which are just few) |
256 |
to filter logging. |
to filter logging. |
257 |
|
|
258 |
|
=cut |
259 |
|
|
260 |
|
1; |