LuaLogging
Uma API simples para usar recursos de log em Lua

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 especificar keepalive = 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!")

XHTML 1.0 válido!