FwLogger

Log estruturado em TLPP. Substitui ConOut/MemoWrite em codigo moderno. Suporta niveis (info/warn/error/debug) e contexto JSON.

Assinatura: FwLogger():getLogger():info|warn|error|debug(cMsg, oContexto)

Retorna: void

FwLogger e o substituto moderno do ConOut. Suporta niveis de severidade, contexto estruturado (key/value), output em arquivo ou console, e e thread-safe.

Niveis

local oLog as object
oLog := FwLogger():getLogger()

oLog:debug('Detalhes pra debug')
oLog:info('Operacao normal')
oLog:warn('Algo suspeito mas nao critico')
oLog:error('Erro grave')

Com contexto estruturado

local oLog as object
local oCtx as json

oLog := FwLogger():getLogger()
oCtx := { ;
    'cliente' => '000001', ;
    'valor'   => 1500.50, ;
    'tx_id'   => FwUuidV4() ;
}

oLog:info('Pedido criado', oCtx)
// Output: {"level":"info","msg":"Pedido criado","cliente":"000001","valor":1500.50,"tx_id":"..."}

Por que substituir ConOut

Configuracao do nivel

Configurado em appserver.ini:

[General]
LogLevel=info  ; debug | info | warn | error

Parâmetros

NomeTipoObrigatórioDescrição
cMsgCharactersimMensagem principal
oContextoJsonObjectnãoDados estruturados extras

Exemplos

Log com contexto

FwLogger():getLogger():info('Pedido OK', {'id' => cId})

Veja também