LuaLogging: uma API simples para usar os recursos de log em Lua

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