Skip to main content

logging

logging:
level: info
format: text
#disable_timestamp: true

logging.level​

Default: info Reloadable

Controls the verbosity of logs. The options are trace, debug, info, warn (or warning), and error. fatal and panic are still accepted for compatibility with older configs, and both behave like error.

warning

Debug and trace logging can log remotely controlled, untrusted data, which can quickly fill a disk in some scenarios. They are also CPU intensive and decrease overall performance. Only enable them while actively investigating an issue.

The level can also be changed at runtime with the log-level debug command. A config reload sets it back to the configured value.

logging.format​

Default: text Reloadable

Controls the logging format. The options are json or text.

logging.disable_timestamp​

Default: false Reloadable

Disables timestamp logging. Useful when output is redirected to logging system that already adds timestamps.

Timestamps are always RFC3339 with nanosecond precision, e.g. 2006-01-02T15:04:05.999999999Z07:00. The logging.timestamp_format setting was removed in v1.11.0 and is ignored.

Rate limited messages​

Some errors that can repeat for every packet are logged at most once per second each, so a persistent failure cannot flood the log. The next line logged after some were held back carries a suppressed field with the number of lines skipped. These are:

  • Failed to write outgoing packet
  • Failed to WriteTo in sendVia
  • Dropping outbound packet, out buffer not large enough