Domanda

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.

È stato utile?

Soluzione

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

Altri suggerimenti

  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.

According to your project structure, there is no log4j-jms.properties.There is log4j.properties. So change your log4j properties file name.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top