Net::Server::Log::Sys::Syslog - log via Syslog
use base qw(Net::Server::PreFork);
__PACKAGE__->run(
log_file => 'Sys::Syslog',
syslog_ident => 'myapp',
);
This module provides Sys::Syslog logging to the Net::Server system.
To begin using Sys::Syslog logging, simply set the Net::Server log_file configuration parameter to "Sys::Syslog".
If the magic name "Sys::Syslog" is used, all logging will take place via the Sys::Syslog module. If syslog is used the parameters syslog_logsock
, syslog_ident
, and syslog_logopt
,and syslog_facility
may also be defined.
Only available if log_file
is equal to "Sys::Syslog". May be either unix, inet, native, console, stream, udp, or tcp, or an arrayref of the types to try. Default is "unix" if the version of Sys::Syslog < 0.15 - otherwise the default is to not call setlogsock.
See Sys::Syslog.
Only available if log_file
is equal to "Sys::Syslog". Id to prepend on syslog entries. Default is "net_server". See Sys::Syslog.
Only available if log_file
is equal to "Sys::Syslog". May be either zero or more of "pid","cons","ndelay","nowait". Default is "pid". See Sys::Syslog.
Only available if log_file
is equal to "Sys::Syslog". See Sys::Syslog and syslog. Default is "daemon".
The following arguments are available in the default Net::Server
or Net::Server::Single
modules. (Other personalities may use additional parameters and may optionally not use parameters from the base class.)
Key Value Default
## syslog parameters (if log_file eq Sys::Syslog)
syslog_logsock (native|unix|inet|udp
|tcp|stream|console) unix (on Sys::Syslog < 0.15)
syslog_ident "identity" "net_server"
syslog_logopt (cons|ndelay|nowait|pid) pid
syslog_facility \w+ daemon
initialize
This method is called during the initilize_logging method of Net::Server. It returns a single code ref that will be stored under the log_function property of the Net::Server object. That code ref takes log_level and message as arguments and calls the initialized log4perl system.
handle_log_error
This method is called if the log_function fails for some reason. It is passed the Net::Server object, the error that occurred while logging and an arrayref containing the log level and the message. In turn, this calls the legacy Net::Server::handle_syslog_error method.
Distributed under the same terms as Net::Server