.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sh \" Subsection heading
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. | will give a
.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
.\" expand to `' in nroff, nothing in troff, for use with C<>.
.tr \(*W-|\(bv\*(Tr
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.\"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.hy 0
.if n .na
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "Sys::Syslog 3"
.TH Sys::Syslog 3 "2002-11-24" "perl v5.8.0" "Perl Programmers Reference Guide"
.SH "NAME"
Sys::Syslog, openlog, closelog, setlogmask, syslog \- Perl interface to the UNIX syslog(3) calls
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& use Sys::Syslog; # all except setlogsock, or:
\& use Sys::Syslog qw(:DEFAULT setlogsock); # default set, plus setlogsock
.Ve
.PP
.Vb 5
\& setlogsock $sock_type;
\& openlog $ident, $logopt, $facility;
\& syslog $priority, $format, @args;
\& $oldmask = setlogmask $mask_priority;
\& closelog;
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Sys::Syslog is an interface to the \s-1UNIX\s0 \f(CWsyslog(3)\fR program.
Call \f(CW\*(C`syslog()\*(C'\fR with a string priority and a list of \f(CW\*(C`printf()\*(C'\fR args
just like \f(CWsyslog(3)\fR.
.PP
Syslog provides the functions:
.ie n .IP "openlog $ident\fR, \f(CW$logopt\fR, \f(CW$facility" 4
.el .IP "openlog \f(CW$ident\fR, \f(CW$logopt\fR, \f(CW$facility\fR" 4
.IX Item "openlog $ident, $logopt, $facility"
\&\fI$ident\fR is prepended to every message. \fI$logopt\fR contains zero or
more of the words \fIpid\fR, \fIndelay\fR, \fInowait\fR. The cons option is
ignored, since the failover mechanism will drop down to the console
automatically if all other media fail. \fI$facility\fR specifies the
part of the system
.ie n .IP "syslog $priority\fR, \f(CW$format\fR, \f(CW@args" 4
.el .IP "syslog \f(CW$priority\fR, \f(CW$format\fR, \f(CW@args\fR" 4
.IX Item "syslog $priority, $format, @args"
If \fI$priority\fR permits, logs \fI($format, \f(CI@args\fI)\fR
printed as by \f(CW\*(C`printf(3V)\*(C'\fR, with the addition that \fI%m\fR
is replaced with \f(CW"$!"\fR (the latest error message).
.ie n .IP "setlogmask $mask_priority" 4
.el .IP "setlogmask \f(CW$mask_priority\fR" 4
.IX Item "setlogmask $mask_priority"
Sets log mask \fI$mask_priority\fR and returns the old mask.
.ie n .IP "setlogsock $sock_type [$stream_location] (added in 5.004_02)" 4
.el .IP "setlogsock \f(CW$sock_type\fR [$stream_location] (added in 5.004_02)" 4
.IX Item "setlogsock $sock_type [$stream_location] (added in 5.004_02)"
Sets the socket type to be used for the next call to
\&\f(CW\*(C`openlog()\*(C'\fR or \f(CW\*(C`syslog()\*(C'\fR and returns \s-1TRUE\s0 on success,
undef on failure.
.Sp
A value of 'unix' will connect to the \s-1UNIX\s0 domain socket returned by
the \f(CW\*(C`_PATH_LOG\*(C'\fR macro (if your system defines it) in \fIsyslog.ph\fR. A
value of 'stream' will connect to the stream indicated by the pathname
provided as the optional second parameter. A value of 'inet' will
connect to an \s-1INET\s0 socket (either tcp or udp, tried in that order)
returned by \fIgetservbyname()\fR. 'tcp' and 'udp' can also be given as
values. The value 'console' will send messages directly to the
console, as for the 'cons' option in the logopts in \fIopenlog()\fR.
.Sp
A reference to an array can also be passed as the first parameter.
When this calling method is used, the array should contain a list of
sock_types which are attempted in order.
.Sp
The default is to try tcp, udp, unix, stream, console.
.Sp
Giving an invalid value for sock_type will croak.
.IP "closelog" 4
.IX Item "closelog"
Closes the log file.
.PP
Note that \f(CW\*(C`openlog\*(C'\fR now takes three arguments, just like \f(CWopenlog(3)\fR.
.SH "EXAMPLES"
.IX Header "EXAMPLES"
.Vb 4
\& openlog($program, 'cons,pid', 'user');
\& syslog('info', 'this is another test');
\& syslog('mail|warning', 'this is a better test: %d', time);
\& closelog();
.Ve
.PP
.Vb 1
\& syslog('debug', 'this is the last test');
.Ve
.PP
.Vb 3
\& setlogsock('unix');
\& openlog("$program $$", 'ndelay', 'user');
\& syslog('notice', 'fooprogram: this is really done');
.Ve
.PP
.Vb 3
\& setlogsock('inet');
\& $! = 55;
\& syslog('info', 'problem was %m'); # %m == $! in syslog(3)
.Ve
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\fIsyslog\fR\|(3)
.SH "AUTHOR"
.IX Header "AUTHOR"
Tom Christiansen <\fItchrist@perl.com\fR> and Larry Wall
<\fIlarry@wall.org\fR>.
.PP
\&\s-1UNIX\s0 domain sockets added by Sean Robinson
<\fIrobinson_s@sc.maricopa.edu\fR> with support from Tim Bunce
<\fITim.Bunce@ig.co.uk\fR> and the perl5\-porters mailing list.
.PP
Dependency on \fIsyslog.ph\fR replaced with \s-1XS\s0 code by Tom Hughes
<\fItom@compton.nu\fR>.
.PP
Code for \fIconstant()\fRs regenerated by Nicholas Clark <\fInick@ccl4.org\fR>.
.PP
Failover to different communication modes by Nick Williams
<\fINick.Williams@morganstanley.com\fR>.
|