log systems messages
syslogd reads and logs messages to the
system console, log files, pipes to other programs, other machines and/or
users as specified by its configuration file.
The options are as follows:
syslogdto use only IPv4 addresses for UDP.
syslogdto use only IPv6 addresses for UDP.
- Specify a location where
syslogdshould place an additional log socket. Up to 20 additional logging sockets can be specified. The primary use for this is to place additional log sockets in /dev/log of various chroot filespaces, though the need for these is less urgent after the introduction of sendsyslog(2).
- PEM encoded file containing CA certificates used for certificate validation; the default is /etc/ssl/cert.pem.
- Enable debugging to the standard output, and do not disassociate from the controlling terminal.
- Run in the foreground instead of disassociating from the controlling terminal and running as a background daemon.
- Specify the pathname of an alternate configuration file; the default is /etc/syslog.conf.
- Include the hostname when forwarding messages to a remote host.
- Select the number of minutes between “mark” messages; the default is 20 minutes.
- Print source addresses numerically rather than symbolically. This saves an
address-to-name lookup for each incoming message, which can be useful when
combined with the
-uoption on a loghost with no DNS cache. Messages from the local host will still be logged with the symbolic local host name.
- Specify the pathname of an alternate log socket to be used instead; the default is /dev/log.
- Create a TLS listen socket for receiving encrypted messages and bind it to the specified address. A port number may be specified using the host:port syntax. The syslog server will attempt to look up a private key in /etc/ssl/private/host:port.key and a public certificate in /etc/ssl/host:port.crt, where host is the specified host name or IP address and port is the specified port if given on the command line. If these files are not present, syslogd will continue to look in /etc/ssl/private/host.key and /etc/ssl/host.crt.
- Specify path to an
AF_LOCALsocket for use in reporting logs stored in memory buffers using syslogc(8).
- Create a TCP listen socket for receiving messages and bind it to the specified address. There is no well-known port for syslog over TCP, so a port number must be specified using the host:port syntax.
- Create a UDP socket for receiving messages and bind it to the specified address. This can be used, for example, with a pf divert-to rule to receive packets when syslogd is bound to localhost. A port number may be specified using the host:port syntax.
- Select the historical “insecure” mode, in which syslogd will accept input from the UDP port. Some software wants this, but you can be subjected to a variety of attacks over the network, including attackers remotely filling logs.
- Do not perform server certificate and hostname validation.
syslogd reads its configuration file when
it starts up and whenever it receives a hangup signal. For information on
the format of the configuration file, see
syslogd creates the file
/var/run/syslog.pid, and stores its process ID
there. This can be used to kill or reconfigure
syslogd opens an Internet domain socket as
specified in /etc/services. Normally
syslogd will only use this socket to send messages
outwards, but in “insecure” mode it will also read messages
from this socket.
syslogd also opens and reads
messages from the UNIX-domain socket
/dev/log, and from the special device
/dev/klog (to read kernel messages).
syslogd opens the above described socket
whether or not it is running in secure mode. If
syslogd is running in secure mode, all incoming data
on this socket is discarded. The socket is required for sending forwarded
The message sent to
syslogd should consist
of a single line. The message can contain a priority code, which should be a
preceding decimal number in angle braces, for example,
“⟨5⟩”. This priority code should map into the
priorities defined in the include file
- configuration file
- process ID of current
- name of the UNIX-domain datagram log socket
- kernel log device
logger(1), syslog(3), services(5), syslog.conf(5), newsyslog(8), syslogc(8)
syslogd command appeared in
syslogd does not create files, it only
logs to existing ones.