我正在尝试运行this example,但我在配置方面遇到了一些问题。
我复制了log4j-jms.properties
,jndi.properties
,Log4jJMSAppenderExample.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
为什么我会收到这些警告?
我的进口错了吗?
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;
我的档案是否在错误的位置?
如何在Eclipse中设置配置文件?不使用PropertyConfigurator.configure("log4j-jms.properties");
?在我跟随的例子中没有这样的行。
答案 0 :(得分:12)
您的log4j.properties
应位于src
文件夹中。这样,Log4J将自动配置自己,而无需编写代码。
答案 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
默认的log4j配置文件是“log4j.properties”,有人说它应该放在src
文件夹中。
答案 2 :(得分:1)
根据您的项目结构,没有log4j-jms.properties。有log4j.properties。因此,请更改log4j属性文件名。