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 thelogPatternparameter.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 parameterlogPatternas the default value for each log-level. IflogPatternalso 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!")