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