File: LogDispatch.pod

package info (click to toggle)
liblog-report-perl 1.41-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 572 kB
  • sloc: perl: 2,819; makefile: 8
file content (211 lines) | stat: -rw-r--r-- 5,810 bytes parent folder | download
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
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
=encoding utf8

=head1 NAME

Log::Report::Dispatcher::LogDispatch - send messages to Log::Dispatch back-end

=head1 INHERITANCE

 Log::Report::Dispatcher::LogDispatch
   is a Log::Report::Dispatcher

=head1 SYNOPSIS

  use Log::Dispatch::File;
  dispatcher Log::Dispatch::File => 'logger', accept => 'NOTICE-',
    filename => 'logfile', to_level => [ 'ALERT-' => 'err' ];

  # disable default dispatcher
  dispatcher close => 'logger';

=head1 DESCRIPTION

This dispatchers produces output to and C<Log::Dispatch> back-end.
(which will NOT be automatically installed for you).

The REASON for a message often uses names which are quite similar to the
log-levels used by Log::Dispatch.  However: they have a different
approach.  The REASON of L<Log::Report|Log::Report> limits the responsibility of the
programmer to indicate the cause of the message: whether it was able to
handle a certain situation.  The Log::Dispatch levels are there for the
user's of the program.  However: the programmer does not known anything
about the application (in the general case).  This is cause of much of
the trickery in Perl programs.

The default translation table is list below.  You can change the mapping
using L<new(to_level)|Log::Report::Dispatcher::LogDispatch/"Constructors">.  See example in SYNOPSIS.

Extends L<"DESCRIPTION" in Log::Report::Dispatcher|Log::Report::Dispatcher/"DESCRIPTION">.

=head1 METHODS

Extends L<"METHODS" in Log::Report::Dispatcher|Log::Report::Dispatcher/"METHODS">.

=head2 Constructors

Extends L<"Constructors" in Log::Report::Dispatcher|Log::Report::Dispatcher/"Constructors">.

=over 4

=item $obj-E<gt>B<close>()

Inherited, see L<Log::Report::Dispatcher/"Constructors">

=item $class-E<gt>B<new>($type, $name, %options)

The Log::Dispatch infrastructure has quite a large number of output
TYPEs, each extending the Log::Dispatch::Output base-class.  You
do not create these objects yourself: L<Log::Report|Log::Report> is doing it for you.

The Log::Dispatch back-ends are very careful with validating their
parameters, so you will need to restrict the options to what is supported
for the specific back-end.  See their respective manual-pages.  The errors
produced by the back-ends quite horrible and untranslated, sorry.
Improves base, see L<Log::Report::Dispatcher/"Constructors">

 -Option       --Defined in             --Default
  accept         Log::Report::Dispatcher  depend on mode
  callbacks                               []
  charset        Log::Report::Dispatcher  <C<undef>>
  format_reason  Log::Report::Dispatcher  'LOWERCASE'
  locale         Log::Report::Dispatcher  <system locale>
  max_level                               undef
  min_level                               debug
  mode           Log::Report::Dispatcher  'NORMAL'
  to_level                                []

=over 2

=item accept => REASONS

=item callbacks => CODE|ARRAY-of-CODE

See Log::Dispatch::Output.

=item charset => CHARSET

=item format_reason => 'UPPERCASE'|'LOWERCASE'|'UCFIRST'|'IGNORE'|CODE

=item locale => LOCALE

=item max_level => $level

Like C<min_level>.

=item min_level => $level

Restrict the messages which are passed through based on the C<$level>,
so after the reason got translated into a Log::Dispatch compatible
LEVEL.  The default will use L<Log::Report|Log::Report> restrictions only.

=item mode => 'NORMAL'|'VERBOSE'|'ASSERT'|'DEBUG'|0..3

=item to_level => ARRAY-of-PAIRS

See L<reasonToLevel()|Log::Report::Dispatcher::LogDispatch/"Logging">.

=back

=back

=head2 Accessors

Extends L<"Accessors" in Log::Report::Dispatcher|Log::Report::Dispatcher/"Accessors">.

=over 4

=item $obj-E<gt>B<backend>()

Returns the Log::Dispatch::Output object which is used for logging.

=item $obj-E<gt>B<isDisabled>()

Inherited, see L<Log::Report::Dispatcher/"Accessors">

=item $obj-E<gt>B<mode>()

Inherited, see L<Log::Report::Dispatcher/"Accessors">

=item $obj-E<gt>B<name>()

Inherited, see L<Log::Report::Dispatcher/"Accessors">

=item $obj-E<gt>B<needs>( [$reason] )

Inherited, see L<Log::Report::Dispatcher/"Accessors">

=item $obj-E<gt>B<type>()

Inherited, see L<Log::Report::Dispatcher/"Accessors">

=back

=head2 Logging

Extends L<"Logging" in Log::Report::Dispatcher|Log::Report::Dispatcher/"Logging">.

=over 4

=item $any-E<gt>B<addSkipStack>(@CODE)

Inherited, see L<Log::Report::Dispatcher/"Logging">

=item $any-E<gt>B<collectLocation>()

Inherited, see L<Log::Report::Dispatcher/"Logging">

=item $any-E<gt>B<collectStack>( [$maxdepth] )

Inherited, see L<Log::Report::Dispatcher/"Logging">

=item $obj-E<gt>B<log>(HASH-$of-%options, $reason, $message, $domain)

Inherited, see L<Log::Report::Dispatcher/"Logging">

=item $obj-E<gt>B<reasonToLevel>($reason)

Returns a level which is understood by Log::Dispatch, based on
a translation table.  This can be changed with L<new(to_level)|Log::Report::Dispatcher::LogDispatch/"Constructors">.

=item $obj-E<gt>B<skipStack>()

Inherited, see L<Log::Report::Dispatcher/"Logging">

=item $any-E<gt>B<stackTraceLine>(%options)

Inherited, see L<Log::Report::Dispatcher/"Logging">

=item $obj-E<gt>B<translate>(HASH-$of-%options, $reason, $message)

Inherited, see L<Log::Report::Dispatcher/"Logging">

=back

=head1 DETAILS

Extends L<"DETAILS" in Log::Report::Dispatcher|Log::Report::Dispatcher/"DETAILS">.

=head1 DIAGNOSTICS

=over 4

=item Error: Log::Dispatch level '$level' not understood

Cast by new()

=back

=head1 SEE ALSO

This module is part of Log-Report version 1.41,
built on September 11, 2025. Website: F<http://perl.overmeer.net/CPAN/>

=head1 LICENSE

For contributors see file ChangeLog.

This software is copyright (c) 2007-2025 by Mark Overmeer.

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.