Appender de SQL
O appender de SQL pode ser usado para escrever mensagens de log em uma tabela de banco de dados SQL. Ele utiliza para tal LuaSQL, portanto é possível usar qualquer banco de dados suportado.
function logging.sql{
connectionfactory = function,
[tablename = string,]
[logdatefield = string,]
[loglevelfield = string,]
[logmessagefield = string,]
[keepalive = boolean],
}
connectionfactory:
Precisa necessariamente ser uma função que cria um objeto de conexão LuaSQL. Essa função será chamada sempre que for preciso criar uma conexão.tablename:
O nome da tabela para gravar as solicitações de log. O valor padrão é"LogTable".logdatefield:
O nome do campo para gravar a data de cada solicitação de log. O valor padrão é"LogDate".loglevelfield:
O nome do campo para gravar o nível de cada solicitação de log. O valor padrão é"LogLevel".logmessagefield:
O nome do campo para gravar a mensagem de cada solicitação de log. O valor padrão é"LogMessage".keepalive:
Em toda solicitação de log, uma conexão com o banco de dados é aberta, a mensagem, escrita e a conexão, fechada.
Se o usuário quiser manter a conexão aberta, pode especificarkeepalive = true.
Exemplo
require"logging.sql"
require"luasql.jdbc"
local env, err = luasql.jdbc('com.mysql.jdbc.Driver')
local logger = logging.sql {
connectionfactory = function()
local con, err = env:connect('jdbc:mysql://localhost/test',
'tcp', '123')
assert(con, err)
return con
end,
keepalive = true,
}
logger:info("teste de logging.sql")
logger:debug("depurando...")
logger:error("erro!")
