6

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

我复制了log4j-jms.properties,,,jndi.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");? 在我遵循的示例中没有这样的行。

4

3 回答 3

13

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

于 2012-08-13T08:35:05.817 回答
2
  1. 没有什么关于进口的;

  2. 这与文件位置无关,因为您看到此消息“log4j:WARN No appenders could be found for logger...”,因此请检查您的 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文件夹中。

于 2012-08-13T08:59:39.720 回答
1

根据你的项目结构,没有log4j-jms.properties。有log4j.properties。所以改变你的 log4j 属性文件名。

于 2012-08-13T08:41:22.160 回答