如何在Eclipse中设置log4j.properties?

时间:2012-08-13 08:27:19

标签: java log4j jms appender

我正在尝试运行this example,但我在配置方面遇到了一些问题。

我复制了log4j-jms.propertiesjndi.propertiesLog4jJMSAppenderExample.java

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

并在我的控制台中运行activemq

当我运行我的例子时,我得到了

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");`

所以我添加了

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

现在我可以在Eclipse控制台中看到日志,但仍然有这个警告

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

activemq的控制台中我得到了

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

为什么我会收到这些警告?

  1. 我的进口错了吗?

    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. 我的档案是否在错误的位置?

  3. 如何在Eclipse中设置配置文件?不使用PropertyConfigurator.configure("log4j-jms.properties");?在我跟随的例子中没有这样的行。

3 个答案:

答案 0 :(得分:12)

您的log4j.properties应位于src文件夹中。这样,Log4J将自动配置自己,而无需编写代码。

答案 1 :(得分:2)

  1. 没有关于进口的内容;

  2. 这不是关于文件的位置,因为你看到这条消息“log4j:WARN没有找到记录器的appenders ...”,所以请检查你的log4j配置文件的内容。这是一个演示:

    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. 默认的log4j配置文件是“log4j.properties”,有人说它应该放在src文件夹中。

答案 2 :(得分:1)

根据您的项目结构,没有log4j-jms.properties。有log4j.properties。因此,请更改log4j属性文件名。