Email appender
This appender can be used to send log requests through email. One email message is sent for each log request.
function logging.email { from = string, rcpt = string or string-table, [user = string,] [password = string,] [server = string,] [port = number,] [domain = string,] [headers = table,] [logPattern = string,] [logPatterns = { [logging.DEBUG = string,] [logging.INFO = string,] [logging.WARN = string,] [logging.ERROR = string,] [logging.FATAL = string,] },] [timestampPattern = string,] [logLevel = log-level-constant,] }
from
:
The sender of the email message.rcpt
:
The recipient of the email message. A string or a numerically indexed Lua table with strings.user
:
User for authentication.password
:
Password for authentication.server
:
Server to connect to. Default is"localhost"
.port
:
Port to connect to. Default is25
.domain
:
Domain name used to greet the server. Defaults to the local machine host name.headers.to
:
The recipient of the message, as an extended description.headers.from
:
The sender of the message, as an extended description.headers.subject
:
The subject of the message sent. This can contain patterns like thelogPattern
parameter.logPatterns
:
A table with logPattern strings indexed by the log-levels. A logPattern specifies how the message is written.
If this parameter is omitted, a patterns table will be created with the parameterlogPattern
as the default value for each log-level. IflogPattern
also is omitted then each level will fall back to the current default setting, seelogging.defaultLogPatterns
.logPattern
:
This value will be used as the default value for each log-level that was omitted inlogPatterns
.timestampPattern
:
This is an optional parameter that can be used to specify a date/time formatting in the log message. The default is taken fromlogging.defaultTimestampPattern()
.logLevel
:
The initial log-level to set for the created logger.
Example
require"logging.email" local logger = logging.email { rcpt = "mail@host.com", from = "mail@host.com", headers = { subject = "[%level] logging.email test", }, } logger:info("logging.email test") logger:debug("debugging...") logger:error("error!")