Logging from the Lua scripts

To log messages with the main PowerDNS Recursor process, use pdnslog(). optionally specifying a syslog loglevel.

Changed in version 5.2.0: Added table as optional argument.

pdnslog(message)
pdnslog(message, level)
pdnslog(message, level, table)

Log message at the Warning level if level is not set.

Parameters:
  • msg (str) – The message to log.
  • level (int) – The log level to log at, see below.
  • table (table) – A table of key = value entries to add to the structured log message.

The available loglevel values are listed in the following table:

  • All - pdns.loglevels.All
  • Alert - pdns.loglevels.Alert
  • Critical - pdns.loglevels.Critical
  • Error - pdns.loglevels.Error
  • Warning - pdns.loglevels.Warning
  • Notice - pdns.loglevels.Notice
  • Info - pdns.loglevels.Info
  • Debug - pdns.loglevels.Debug
  • None - pdns.loglevels.None

An example logging statement:

pdnslog('You have been warned', pdns.loglevels.Warning, { times = 3, origin = 'documentation' })