Logging
The following logging operations are supported:
Debug and trace
The flag enables trace and debug for the server.
nats-server -DV -m 8222 -user foo -pass bar
Log file redirect
Timestamp
If -T false
then log entries are not timestamped. Default is true.
Syslog
You can configure syslog with UDP
:
nats-server -r udp://localhost:514
For example:
syslog://logs.papertrailapp.com:26900
All of these settings are available in the configuration file as well.
Introduced in NATS Server v2.1.4, NATS allows for auto-rotation of log files when the size is greater than the configured limit set in . The backup files will have the same name as the original log file with the suffix .yyyy.mm.dd.hh.mm.ss.micros.
You can also use NATS-included mechanisms with logrotate, a simple standard Linux utility to rotate logs available on most distributions like Debian, Ubuntu, RedHat (CentOS), etc., to make log rotation simple.
/path/to/nats-server.log {
daily
rotate 30
missingok
postrotate
kill -SIGUSR1 `cat /var/run/nats-server.pid`
endscript
}
The first line specifies the location that the subsequent lines will apply to.
The rest of the file specifies that the logs will rotate daily (“daily” option) and that 30 older copies will be preserved (“rotate” option). Other options are described in .
The “postrotate” section tells NATS server to reload the log files once the rotation is complete. The command `kill -SIGUSR1
cat /var/run/nats-server.pid``` does not kill the NATS server process, but instead sends it a signal causing it to reload its log files. This will cause new requests to be logged to the refreshed log file.
The /var/run/nats-server.pid
file is where NATS server stores the master process’s pid.
Some Logging Notes
- The NATS server, in verbose mode, will log the receipt of messages, but this does not indicate the subscription is gone, only that the message was received. The
DELSUB
message in the log can be used to determine when the actual subscription removal has taken place.