How to set log4j.properties in Eclipse?

alicjasalamon picture alicjasalamon · Aug 13, 2012 · Viewed 43.6k times · Source

I'm trying to run this example, but I have some problems with configuration.

I copied log4j-jms.properties, jndi.properties, Log4jJMSAppenderExample.java

ProjectJMS
|
\_ src
|   \_ Log4jJMSAppenderExample.java
|   \_ jndi.propeties
\_ log4j-jms.properties

and run activemq in my console.

When I ran my example I got

log4j:WARN No appenders could be found for logger (org.apache.activemq.transport.WireFormatNegotiator).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.`PropertyConfigurator.configure("log4j-jms.properties");`

so I added

PropertyConfigurator.configure("log4j-jms.properties");

Now I can see logs in Eclipse console, but still with this warning

log4j:WARN No appenders could be found for logger (org.apache.activemq.transport.WireFormatNegotiator).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
2012-08-13 10:21:44,741 INFO  Log4jJMSAppenderExample - Test log
Received log [INFO]: Test log

and in console with activemq I got

 WARN | Transport Connection to: tcp://127.0.0.1:2005 failed: java.net.SocketException: Connection reset

Why am I getting these warnings?

  1. Are my imports wrong?

    import javax.jms.Connection;
    import javax.jms.Message;
    import javax.jms.MessageConsumer;
    import javax.jms.MessageListener;
    import javax.jms.Session;
    
    import org.apache.activemq.ActiveMQConnectionFactory;
    import org.apache.activemq.command.ActiveMQObjectMessage;
    import org.apache.log4j.Logger;
    import org.apache.log4j.PropertyConfigurator;
    import org.apache.log4j.spi.LoggingEvent;
    
  2. Are my files in wrong place?

  3. How to set configuration file in Eclipse? Without using PropertyConfigurator.configure("log4j-jms.properties");? There is no line like this in example I follow.

Answer

Buhake Sindi picture Buhake Sindi · Aug 13, 2012

Your log4j.properties should reside inside the src folder. That way, Log4J will configure itself automatically, without you needing to write code.