delphimvcframework/samples/winecellar/Win32/Debug/Lua/logging/email.lua
2013-10-29 15:51:16 +00:00

45 lines
1.5 KiB
Lua

-------------------------------------------------------------------------------
-- Emails logging information to the given recipient
--
-- @author Thiago Costa Ponte (thiago@ideais.com.br)
--
-- @copyright 2004-2011 Kepler Project
--
-------------------------------------------------------------------------------
require"logging"
local smtp = require"socket.smtp"
function logging.email(params)
params = params or {}
params.headers = params.headers or {}
if params.from == nil then
return nil, "'from' parameter is required"
end
if params.rcpt == nil then
return nil, "'rcpt' parameter is required"
end
return logging.new( function(self, level, message)
local s = logging.prepareLogMsg(params.logPattern, os.date(), level, message)
if params.headers.subject then
params.headers.subject = logging.prepareLogMsg(params.headers.subject, os.date(), level, message)
end
local msg = { headers = params.headers, body = s }
params.source = smtp.message(msg)
local r, e = smtp.send(params)
if not r then
return nil, e
end
return true
end
)
end
return logging.email