Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set log4j.properties in Eclipse?

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.

like image 500
alicjasalamon Avatar asked Aug 13 '12 08:08

alicjasalamon


People also ask

How do I change log4j version in eclipse?

Adding the site https://download.eclipse.org/passage/updates/release/2.2.1/ to Window → Preferences → Install/Update → Available Sites and using Help → Check for Updates can be used to upgrade the version of Passage and thereby replace the vulnerable version of log4j2.

How do I get log4j in Eclipse?

Add Log4j Jars to Project Library in Eclipse:Right click the Project name and navigate to Build Path and select “Configure Build Path“. Click on Add External JARS and navigate to the folder where you have kept the Log4j jar files. Select the Executable Jar File and click Apply. Finally click Apply and Close.


2 Answers

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

like image 166
Buhake Sindi Avatar answered Nov 14 '22 22:11

Buhake Sindi


  1. There is nothing about imports;

  2. It's not about the file place, as you see this message "log4j:WARN No appenders could be found for logger...", so please check the content of your log4j configuration file. Here's a demo:

    log4j.rootLogger=INFO, myConsoleAppender log4j.appender.myConsoleAppender=org.apache.log4j.ConsoleAppender log4j.appender.myConsoleAppender.layout=org.apache.log4j.PatternLayout log4j.appender.myConsoleAppender.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

  3. The default log4j configuration file is "log4j.properties", and as someone had said it should be place in the src folder.

like image 42
aelbery Avatar answered Nov 14 '22 21:11

aelbery