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 | |
82d2fcbe |
25 | This module provides the default, simple logging functionality for Catalyst. |
26 | If you want something different set C<$c->log> in your application module, e.g.: |
27 | |
28 | $c->log( MyLogger->new ); |
29 | |
30 | Your logging object is expected to provide the interface described here. |
31 | |
fc7ec1d9 |
32 | |
b22c6668 |
33 | =head1 METHODS |
fc7ec1d9 |
34 | |
b22c6668 |
35 | =over 4 |
fc7ec1d9 |
36 | |
1db849bc |
37 | =item $log->debug(@message) |
b22c6668 |
38 | |
39 | Logs a debugging message. |
fc7ec1d9 |
40 | |
41 | =cut |
42 | |
1db849bc |
43 | sub debug { shift->_format( 'debug', @_ ) } |
fc7ec1d9 |
44 | |
1db849bc |
45 | sub dump { shift->_format( 'dump', Dumper( $_[1] ) ) } |
9b2bc37b |
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 | |
fc7ec1d9 |
81 | =head1 SEE ALSO |
82 | |
83 | L<Catalyst>. |
84 | |
85 | =head1 AUTHOR |
86 | |
87 | Sebastian Riedel, C<sri@cpan.org> |
88 | |
89 | =head1 COPYRIGHT |
90 | |
91 | This program is free software, you can redistribute it and/or modify it under |
92 | the same terms as Perl itself. |
93 | |
94 | =cut |
95 | |
96 | 1; |