Utilizar insert em uma coluna do tipo cblob pelo log4j

Antes leia o artigo “Utilizar datasource no log4j” para conseguir realizar esse processo.

Continuando o artigo anterior, se deseja persistir o Stacktrace em uma coluna do tipo Blob em seu banco de dados, comece criando a tabela com esse script, lembrando que o nome e tipo de coluna deve depender do banco de dados que está utilizando:

CREATE TABLE LOGS
(
   DATED timestamp NOT NULL,
   NIVEL varchar(10) NOT NULL,
   LOGGER varchar(1000) NOT NULL,
   MENSAGEM varchar(1000) NOT NULL,
   STACKTRACE clob(10000) NOT NULL
);

 
Após criado sua tabela, abra o arquivo log4j.properties e adicione a propriedade formatando seu INSERT para que não tenha problema na ordem de inserção de valores nas colunas.

log4j.appender.JDBC.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.JDBC.layout.ConversionPattern=INSERT INTO LOGS (nivel,dated,logger,mensagem,stacktrace) VALUES('%p', '%d{yyyy-MM-dd HH:mm:ss.SSS}','%C.%M(%F:%L)','%m%n','%throwable{100}')

No parâmetro %throable, você pode escolher adicionar mais ou menos informação, para isso existe os seguintes possíveis valores.

%throwable {short} ou {1} a saída será a primeira linha da pilha.
%throwable {none} ou {0} irá suprimir a pilha.
%throwable{n}, onde n é igual ao número de linhas a ser impressa.

No nosso caso utilizamos n igual a 100 linhas, vai do gosto de cada cliente. Eu particularmente acredito que não tenha necessidade de armazenar mais do que isso, além de dificultar a leitura do erro. Raros casos são necessários ler mais do que 100 linhas para identificar problema.

Abraços,
André Rezende

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s