ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent/lib/AnyEvent/Log.pm
(Generate patch)

Comparing AnyEvent/lib/AnyEvent/Log.pm (file contents):
Revision 1.31 by root, Thu Aug 25 03:08:48 2011 UTC vs.
Revision 1.36 by root, Thu Aug 25 05:39:47 2011 UTC

49will be logged, unless you set C<PERL_ANYEVENT_VERBOSE> to a higher number 49will be logged, unless you set C<PERL_ANYEVENT_VERBOSE> to a higher number
50before starting your program, or change the logging level at runtime with 50before starting your program, or change the logging level at runtime with
51something like: 51something like:
52 52
53 use AnyEvent::Log; 53 use AnyEvent::Log;
54 AnyEvent::Log::FILTER->level ("info"); 54 $AnyEvent::Log::FILTER->level ("info");
55 55
56The design goal behind this module was to keep it simple (and small), 56The design goal behind this module was to keep it simple (and small),
57but make it powerful enough to be potentially useful for any module, and 57but make it powerful enough to be potentially useful for any module, and
58extensive enough for the most common tasks, such as logging to multiple 58extensive enough for the most common tasks, such as logging to multiple
59targets, or being able to log into a database. 59targets, or being able to log into a database.
60 60
61The module is also usable before AnyEvent itself is initialised, in which
62case some of the functionality might be reduced.
63
61The amount of documentation might indicate otherwise, but the module is 64The amount of documentation might indicate otherwise, but the runtime part
62still just below 300 lines of code. 65of the module is still just below 300 lines of code.
63 66
64=head1 LOGGING LEVELS 67=head1 LOGGING LEVELS
65 68
66Logging levels in this module range from C<1> (highest priority) to C<9> 69Logging levels in this module range from C<1> (highest priority) to C<9>
67(lowest priority). Note that the lowest numerical value is the highest 70(lowest priority). Note that the lowest numerical value is the highest
513 } 516 }
514 517
515 @$_ = ($_->[0], (1 << 10) - 1 - 1) 518 @$_ = ($_->[0], (1 << 10) - 1 - 1)
516 for $LOG, $FILTER, $COLLECT; 519 for $LOG, $FILTER, $COLLECT;
517 520
518 $LOG->slaves; 521 #$LOG->slaves;
519 $LOG->title ('$AnyEvent::Log::LOG'); 522 $LOG->title ('$AnyEvent::Log::LOG');
520 $LOG->log_to_warn; 523 $LOG->log_to_warn;
521 524
522 $FILTER->slaves ($LOG); 525 $FILTER->slaves ($LOG);
523 $FILTER->title ('$AnyEvent::Log::FILTER'); 526 $FILTER->title ('$AnyEvent::Log::FILTER');
1012Configures the context to log to a file with the given path. Works like 1015Configures the context to log to a file with the given path. Works like
1013C<log_to_path>. 1016C<log_to_path>.
1014 1017
1015=item C<syslog> or C<syslog=>I<expr> 1018=item C<syslog> or C<syslog=>I<expr>
1016 1019
1017Configured the context to log to syslog. If I<expr> is given, then it is 1020Configures the context to log to syslog. If I<expr> is given, then it is
1018evaluated in the L<Sys::Syslog> package, so you could use: 1021evaluated in the L<Sys::Syslog> package, so you could use:
1019 1022
1020 log=syslog=LOG_LOCAL0 1023 log=syslog=LOG_LOCAL0
1021 1024
1022=item C<nolog> 1025=item C<nolog>
1064 filter=warn 1067 filter=warn
1065 1068
1066 # or, more verbose 1069 # or, more verbose
1067 filter=only,level,warn 1070 filter=only,level,warn
1068 1071
1069=item C<1>..C<9>, a logging level name (C<error>, C<debug> etc.) 1072=item C<1>..C<9> or a logging level name (C<error>, C<debug> etc.)
1070 1073
1071A numeric loglevel or the name of a loglevel will be interpreted according 1074A numeric loglevel or the name of a loglevel will be interpreted according
1072to the most recent C<only>, C<except> or C<level> directive. By default, 1075to the most recent C<only>, C<except> or C<level> directive. By default,
1073specifying a logging level enables that and any higher priority messages. 1076specifying a logging level enables that and any higher priority messages.
1074 1077
1075=item C<+>I<context> 1078=item C<+>I<context>
1076 1079
1077Adds/attaches the named context as slave to the context. 1080Attaches the named context as slave to the context.
1078 1081
1079=item C<+> 1082=item C<+>
1080 1083
1081A line C<+> clears the slave list form the context. Anonymous (C<%name>) 1084A line C<+> detaches all contexts, i.e. clears the slave list from the
1082contexts have no slaves by default, but package contexts have the parent 1085context. Anonymous (C<%name>) contexts have no attached slaves by default,
1083context as slave by default. 1086but package contexts have the parent context as slave by default.
1084 1087
1085Example: log messages from My::Module to a file, do not send them to the 1088Example: log messages from My::Module to a file, do not send them to the
1086default log collector. 1089default log collector.
1087 1090
1088 My::Module=+,file=/tmp/mymodulelog 1091 My::Module=+,file=/tmp/mymodulelog
1089 1092
1090=back 1093=back
1091 1094
1092Any character can be escaped by prefixing it with a C<\> (backslash), as 1095Any character can be escaped by prefixing it with a C<\> (backslash), as
1093usual, so to log to a file containing a comma, colon, backslash and space in the 1096usual, so to log to a file containing a comma, colon, backslash and some
1094filename, you would do this: 1097spaces in the filename, you would do this:
1095 1098
1096 PERL_ANYEVENT_LOG='log=file=/some\ \:file\ with\,\ \\-escapes' 1099 PERL_ANYEVENT_LOG='log=file=/some\ \:file\ with\,\ \\-escapes'
1097 1100
1098Since whitespace (which includes newlines) is allowed, it is fine to 1101Since whitespace (which includes newlines) is allowed, it is fine to
1099specify multiple lines in C<PERL_ANYEVENT_LOG>, e.g.: 1102specify multiple lines in C<PERL_ANYEVENT_LOG>, e.g.:

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines