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!")