added Log::Contextual::Easy for zero-config usage
[p5sagit/Log-Contextual.git] / lib / Log / Contextual / Easy.pm
1 package Log::Contextual::Easy;
2
3 use base 'Log::Contextual';
4
5 sub arg_default_logger {
6    if ($_[1]) {
7       return $_[1];
8    } else {
9       require Log::Contextual::WarnLogger;
10       my $package = uc(caller(3));
11       $package =~ s/::/_/g;
12       return Log::Contextual::WarnLogger->new({env_prefix => $package});
13    }
14 }
15
16 sub default_import { qw(:dlog :log ) }
17
18 1;
19
20 __END__
21
22 =head1 NAME
23
24 Log::Contextual::Easy - Import all logging methods with WarnLogger as default
25
26 =head1 SYNOPSIS
27
28 In your module:
29
30  package My::Module;
31  use Log::Contextual::Easy;
32
33  log_debug { "your message" };
34  Dlog_trace { $_ } @vars;
35
36 In your program:
37
38  use My::Module;
39
40  # enable warnings
41  $ENV{MY_MODULE_UPTO}="TRACE";
42
43  # or use a specific logger with set_logger / with_logger
44
45 =head1 DESCRIPTION
46
47 By default, this module enables a L<Log::Contextual::WarnLogger>
48 with C<env_prefix> based on the module's name that uses
49 Log::Contextual::Easy. The logging levels are set to C<trace> C<debug>,
50 C<info>, C<warn>, C<error>, and C<fatal> (in this order) and all
51 logging functions (L<log_...|Log::Contextual/"log_$level">,
52 L<logS_...|Log::Contextual/"logS_$level">,
53 L<Dlog_...|Log::Contextual/"Dlog_$level">, and
54 L<Dlog...|Log::Contextual/"DlogS_$level">) are exported.
55
56 =head1 SEE ALSO
57
58 =over 4
59
60 =item L<Log::Contextual>
61
62 =back