File: README

package info (click to toggle)
libcatalyst-log-log4perl-perl 1.06-5
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 196 kB
  • sloc: perl: 1,687; makefile: 2
file content (166 lines) | stat: -rw-r--r-- 5,424 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
NAME
    Catalyst::Log::Log4perl - DEPRECATED (see Log::Log4perl::Catalyst)

SYNOPSIS
    In MyApp.pm:

        use Catalyst::Log::Log4perl;

      # then we create a custom logger object for catalyst to use.
      # If we don't supply any arguments to new, it will work almost
      # like the default catalyst-logger.
  
        __PACKAGE__->log(Catalyst::Log::Log4perl->new());

      # But the real power of Log4perl lies in the configuration, so
      # lets try that. example.conf is included in the distribution,
      # alongside the README and Changes.
  
      __PACKAGE__->log(Catalyst::Log::Log4perl->new('example.conf'));

    And later...

        $c->log->debug("This is using log4perl!");

DESCRIPTION
    This module provides a Catalyst::Log implementation that uses
    Log::Log4perl as the underlying log mechanism. It provides all the
    methods listed in Catalyst::Log, with the exception of:

        levels
        enable
        disable

    These methods simply return 0 and do nothing, as similar functionality
    is already provided by Log::Log4perl.

    These methods will all instantiate a logger with the component set to
    the package who called it. For example, if you were in the
    MyApp::C::Main package, the following:

        package MyApp::C::Main;

        sub default : Private {
            my ( $self, $c ) = @_;
            my $logger = $c->log;
            $logger->debug("Woot!");
        }

    Would send a message to the Myapp.C.Main Log::Log4perl component.

    See Log::Log4perl for more information on how to configure different
    logging mechanisms based on the component.

METHODS
    new($config, [%options])
        This builds a new Catalyst::Log::Log4perl object. If you provide an
        argument to new(), it will be passed directly to
        Log::Log4perl::init.

        The second (optional) parameter is a hash with extra options.
        Currently three additional parameters are defined:

          'autoflush'   - Set it to a true value to disable abort(1) support.
          'watch_delay' - Set it to a true value to use L<Log::Log4perl>'s init_and_watch

          'override_cspecs' - EXPERIMENTAL
              Set it to a true value to locally override some parts of
              L<Log::Log4perl::Layout::PatternLayout>. See L<OVERRIDING CSPECS> below

        Without any arguments, new() will initialize a root logger with a
        single appender, Log::Log4perl::Appender::Screen, configured to have
        an identical layout to the default Catalyst::Log object.

    _flush()
        Flushes the cache. Much like the way Catalyst::Log does it.

    abort($abort)
        Causes the current log-object to not log anything, effectivly
        shutting up this request, making it disapear from the logs.

    debug($message)
        Passes it's arguments to $logger->debug.

    info($message)
        Passes it's arguments to $logger->info.

    warn($message)
        Passes it's arguments to $logger->warn.

    error($message)
        Passes it's arguments to $logger->error.

    fatal($message)
        Passes it's arguments to $logger->fatal.

    is_debug()
        Calls $logger->is_debug.

    is_info()
        Calls $logger->is_info.

    is_warn()
        Calls $logger->is_warn.

    is_error()
        Calls $logger->is_error.

    is_fatal()
        Calls $logger->is_fatal.

    levels()
        This method does nothing but return "0". You should use
        Log::Log4perl's built in mechanisms for setting up log levels.

    enable()
        This method does nothing but return "0". You should use
        Log::Log4perl's built in mechanisms for enabling log levels.

    disable()
        This method does nothing but return "0". You should use
        Log::Log4perl's built in mechanisms for disabling log levels.

OVERRIDING CSPECS
    Due to some fundamental design incompatibilities of Log::Log4perl and
    Catalyst::Log all cspecs of Log::Log4perl::Layout::PatternLayout that
    rely on call stack information fail to work as expected. Affected are
    the format strings %L, %F, %C, %M, %l and %T. You can instruct
    Catalyst::Log::Log4perl to try to hijack these patterns which seems to
    work reasonable well, but be advised that this feature is HIGHLY
    EXPERIMENTAL and relies on a few internals of Log::Log4perl that might
    change in later versions of this library. Additionally, this feature is
    currently only tested with Log::Log4perl version 1.08 allthough the
    underlying internals of Log::Log4perl seem to be stable since at least
    version 0.47.

BUGS AND LIMITATIONS
    The %T cspec of Log::Log4perl::Layout::PatternLayout is currently
    unimplemented. The implementation to get %M defies any logical approach
    but seems to work perfectly.

SEE ALSO
    Log::Log4perl, Catalyst::Log, Catalyst.

AUTHORS
    Adam Jacob, "adam@stalecoffee.org"

    Andreas Marienborg, "omega@palle.net"

    Gavin Henry, "ghenry@suretecsystems.com" (Typos)

    Sebastian Willert (Overriding CSPECS)

    J. Shirley "jshirley@gmail.com" (Adding _dump)

    Tomas Doran (t0m) "bobtfish@bobtfish.net" (Current maintainer)

    Wallace Reis (wreis) "wreis@cpan.org"

COPYRIGHT
    Copyright (c) 2005 - 2009 the Catalyst::Log::Log4perl "AUTHORS" as
    listed above.

LICENSE
    This library is free software. You can redistribute it and/or modify it
    under the same terms as perl itself.