Commit | Line | Data |
fc7ec1d9 |
1 | package Catalyst::Log; |
2 | |
3 | use strict; |
4 | use base 'Class::Accessor::Fast'; |
9b2bc37b |
5 | use Data::Dumper; |
6 | |
7 | $Data::Dumper::Terse = 1; |
fc7ec1d9 |
8 | |
9 | =head1 NAME |
10 | |
11 | Catalyst::Log - Catalyst Log Class |
12 | |
13 | =head1 SYNOPSIS |
14 | |
82d2fcbe |
15 | $log = $c->log; |
1db849bc |
16 | $log->debug(@message); |
17 | $log->error(@message); |
18 | $log->info(@message); |
19 | $log->warn(@message); |
82d2fcbe |
20 | |
fc7ec1d9 |
21 | See L<Catalyst>. |
22 | |
23 | =head1 DESCRIPTION |
24 | |
61b1e958 |
25 | This module provides the default, simple logging functionality for |
26 | Catalyst. |
27 | If you want something different set C<$c->log> in your application |
28 | module, e.g.: |
82d2fcbe |
29 | |
30 | $c->log( MyLogger->new ); |
31 | |
32 | Your logging object is expected to provide the interface described here. |
33 | |
fc7ec1d9 |
34 | |
b22c6668 |
35 | =head1 METHODS |
fc7ec1d9 |
36 | |
b22c6668 |
37 | =over 4 |
fc7ec1d9 |
38 | |
1db849bc |
39 | =item $log->debug(@message) |
b22c6668 |
40 | |
41 | Logs a debugging message. |
fc7ec1d9 |
42 | |
43 | =cut |
44 | |
1db849bc |
45 | sub debug { shift->_format( 'debug', @_ ) } |
fc7ec1d9 |
46 | |
1db849bc |
47 | =item $log->error(@message) |
fc7ec1d9 |
48 | |
b22c6668 |
49 | Logs an error message. |
fc7ec1d9 |
50 | |
51 | =cut |
52 | |
1db849bc |
53 | sub error { shift->_format( 'error', @_ ) } |
fc7ec1d9 |
54 | |
1db849bc |
55 | =item $log->info(@message) |
fc7ec1d9 |
56 | |
b22c6668 |
57 | Logs an informational message. |
fc7ec1d9 |
58 | |
59 | =cut |
60 | |
1db849bc |
61 | sub info { shift->_format( 'info', @_ ) } |
fc7ec1d9 |
62 | |
1db849bc |
63 | =item $log->warn(@message) |
fc7ec1d9 |
64 | |
b22c6668 |
65 | Logs a warning message. |
fc7ec1d9 |
66 | |
67 | =cut |
68 | |
1db849bc |
69 | sub warn { shift->_format( 'warn', @_ ) } |
fc7ec1d9 |
70 | |
71 | sub _format { |
1db849bc |
72 | my $class = shift; |
73 | my $level = shift; |
74 | my $time = localtime(time); |
75 | my $message = join( "\n", @_ ); |
76 | printf( STDERR "[%s] [catalyst] [%s] %s\n", $time, $level, $message ); |
fc7ec1d9 |
77 | } |
78 | |
b22c6668 |
79 | =back |
80 | |
c9afa5fc |
81 | =cut |
82 | |
61b1e958 |
83 | # Private - Logs a Data::Dumper of reference. |
84 | sub _dump { shift->_format( 'dump', Dumper( $_[0] ) ) } |
c9afa5fc |
85 | |
c9afa5fc |
86 | |
fc7ec1d9 |
87 | =head1 SEE ALSO |
88 | |
89 | L<Catalyst>. |
90 | |
91 | =head1 AUTHOR |
92 | |
93 | Sebastian Riedel, C<sri@cpan.org> |
61b1e958 |
94 | Marcus Ramberg, C<mramberg@cpan.org> |
fc7ec1d9 |
95 | |
96 | =head1 COPYRIGHT |
97 | |
61b1e958 |
98 | This program is free software, you can redistribute it and/or modify |
99 | it under the same terms as Perl itself. |
fc7ec1d9 |
100 | |
101 | =cut |
102 | |
103 | 1; |