Lo4j

1 resposta
L

Boas.

Estou a desenvolver um projecto que usa Struts2+Spring+Hibernate e estamos a usar como servidor o Websphere Community Edition e a base de dados é MySQL.

Estamos agora a tentar implementar o log4j para fazer logging.

O meu ficheiro log4j.xml está aqui:

[i]<?xml version=“1.0” encoding=“UTF-8” ?>
<!DOCTYPE log4j:configuration SYSTEM “log4j.dtd”>

<log4j:configuration xmlns:log4j=“http://jakarta.apache.org/log4j/”>

&lt;appender name="jdbcAppender" class="org.apache.log4j.jdbc.JDBCAppender"&gt; 
    &lt;param name="URL" value="jdbc:mysql://localhost:3306/bi" /&gt; 
    &lt;param name="Driver" value="com.mysql.jdbc.Driver" /&gt; 
    &lt;param name="User" value="root" /&gt; 
    &lt;param name="Password" value="1234" /&gt; 
    &lt;layout class="org.apache.log4j.PatternLayout"&gt; 
        &lt;param name="ConversionPattern" 
          value="INSERT INTO table (log_date, log_level, location, message) VALUES ( '%d{ISO8601}','%p', '%C;%L', '%m' )" 
        /&gt; 
    &lt;/layout&gt; 
&lt;/appender&gt; 

&lt;appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"&gt; 
    &lt;layout class="org.apache.log4j.PatternLayout"&gt; 
        &lt;param name="ConversionPattern" 
          value="%d{ISO8601} %p (%C;%L) %m%n" 
        /&gt; 
    &lt;/layout&gt; 
&lt;/appender&gt; 

&lt;logger name="logging.simple.jdbcLogger"&gt; 
    &lt;level value="debug"/&gt; 
    &lt;appender-ref ref="jdbcAppender"/&gt; 
&lt;/logger&gt; 

&lt;root&gt; 
    &lt;level value="error"/&gt; 
    &lt;appender-ref ref="jdbcAppender"/&gt; 
&lt;/root&gt;

</log4j:configuration>[/i]

Como a aplicação dizia que não encontrava o log4j.xml eu coloquei-o no C:/ e indiquei na classe PersonAction.java:

private static Logger logger = Logger.getLogger(PersonAction.class);

e

DOMConfigurator.configure(c:/log4j.xml);

O problema agora é este:

log4j:ERROR Failed to load driver
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver…

As libs que estou a usar são estas:
log4j-1.2.14.jar e mysql-connector-java-5.0.4-bin.jar

Será um problema do lado do servidor?
Obrigado desde já.

1 Resposta

C

Olá l1nk,

O erro não é do log4j e sim di driver jdbc do mysql.
tua aplicação não está encontrando o driver para realizar a conexão com o banco. Sugiro que você verifique se realmente o .jar do driver está dentro do PATH da sua aplicação

Criado 6 de julho de 2007
Ultima resposta 6 de jul. de 2007
Respostas 1
Participantes 2