Log4j no Tomcat5.5

3 respostas
D

Olá pessoal,

Preciso de ajuda com o Log4J.

Hoje, gero o LOG de um contexto em arquivos texto. Gostaria de colocar esses logs em um banco de dados.
Para isso estou tentando configurar o Log4J de forma que a configuração se aplique somente nesse contexto.

As seguintes ações tomei:

  1. Chamei o contexto de /teste
  2. Copiei os arquivos log4j-1.2.11.jar, commons-logging-1.1.jar e jdbcappender.jar para o WEB-INF/lib do contexto
  3. Criei o arquivo log4j.properties no diretorio WEB-INF/classes

Eis o arquivo log4j.properties:

log4j.rootLogger=DEBUG, LOG log4j.appender.LOG=org.apache.log4j.jdbcplus.JDBCAppender log4j.appender.LOG.url=jdbc:oracle:thin:@servidor:9618:teste log4j.appender.LOG.dbclass=oracle.jdbc.driver.OracleDriver log4j.appender.LOG.username=user log4j.appender.LOG.password=password log4j.appender.LOG.sql=INSERT INTO log_teste(data, nivel, mensagem) VALUES(SYSDATE, '@PRIO@', SubStr('@MSG@', 0, 255)) log4j.appender.LOG.layout=org.apache.log4j.PatternLayout log4j.appender.LOG.layout.ConversionPattern=%l## log4j.appender.LOG.layoutPartsDelimiter=# log4j.appender.LOG.commit=true log4j.appender.LOG.quoteReplace=true

Ai criei um JSP para fazer testes:

<% org.apache.log4j.Logger log = org.apache.log4j.Logger.getRootLogger(); log.debug("mensagem"); %>

Só q… a toda requisição é gravado vários registros de log…
Por exemplo:

Request Params:
JspEngine --> /teste12.jsp
ServletPath: /teste12.jsp
PathInfo: null
RequestURI: /teste/teste.jsp

E ai por diante…
Oq estou fazendo d errado?

3 Respostas

D

Pessoal…

Descubri q qdo acesso outro contexto, duas linhas sao gravadas no log:

  • Start expire sessions StandardManager at 1153767085916 sessioncount 0
  • End expire sessions StandardManager processingTime 0 expired sessions: 0
D

Pessoal, acho q resolvi meu problema…

movi o commons-logging.jar no common/lib do tomcat e copiei o log4j.jar oara a mesma pasta…

No web-inf do contexto ficou só uma copia do log4j.jar e o jdbcappender.jar.

Agradeço se alguem tiver alguma consideração a fazer.

Até

G

Oi cara !
Achei este teu topico e resolvi aproveitar pra te fazer uma pergunta.
Estou usando o log4j-1.2.8, mas quando vou gravar a mensagem no banco de dados, ele grava só o comecinho dela… num grava o stacktrace. Vc sabe porque isso acontece ? Segue meu .properties

log4j.rootCategory= WARN, R

log4j.appender.R=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.R.driver=oracle.jdbc.OracleDriver
log4j.appender.R.URL=jdbc:oracle:thin:@192.168.0.138:1521:MOTO
log4j.appender.R.user=123
log4j.appender.R.password=456
log4j.appender.R.sql=INSERT INTO PPMOWN.OPMD_LOGS VALUES(’%d{dd/MM/yyyy HH:mm:ss}’,’%c’,’%p’,SubStr(’%m’, 0, 2048))
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d %p [%c] - <%m>%n

Obrigado !

Criado 24 de julho de 2006
Ultima resposta 18 de out. de 2007
Respostas 3
Participantes 2