我正在尝试使用IntelliJ IDEA Community 2016.1,JDK 1.8和log4j 2.5来设置一个“hello world”风格的类,以吐出一些日志。我已经尝试了.properties文件和程序化配置;对产出没有任何影响。我的log4j配置更改没有任何影响输出。 (在IntelliJ中)
我的属性文件不起作用。
几乎所有我在Stackoverflow上看到的这种性质的问题表明,属性文件需要在类路径上。要清楚,我的配置似乎是在类路径上,因为我不再收到log4j错误消息,它无法找到属性文件。我也试着指定它
-Dlog4j.configurationFile=[FULLY SPECIFIED PATH]
并没有看到输出的变化。
编程配置也不起作用。
我试过使用基本配置器(从样本再次撕开),我仍然看不到输出的变化。
要清楚:是否找到属性文件,输出是完全相同,除了“找到没有找到log4j2配置文件”消息或没有合理的方式。
这里是我的代码:
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
public class HelloWorld {
public static void main(String[] args) {
Logger logger = LogManager.getLogger(HelloWorld.class);
logger.info("Hello World of logging!");
logger.info("Working Dir: " + System.getProperty("user.dir"));
logger.debug("debug test");
logger.info("info test");
logger.warn("warn test");
logger.error("error test");
if (!logger.isDebugEnabled())
logger.error("Debug isn't enabled. :(");
if (!logger.isInfoEnabled())
logger.error("Info isn't enabled. :(");
if (!logger.isWarnEnabled())
logger.error("Warn isn't enabled. :(");
}
这里是它在控制台完整的输出:
"C:\Program Files\Java\jdk1.8.0_77\bin\java" ...
09:51:10.142 [main] ERROR HelloWorld - error test
09:51:10.142 [main] ERROR HelloWorld - Debug isn't enabled. :(
09:51:10.142 [main] ERROR HelloWorld - Info isn't enabled. :(
09:51:10.143 [main] ERROR HelloWorld - Warn isn't enabled. :(
Process finished with exit code 0
我已经尝试过许多不同的配置文件(所有的.properties的非xml品种)从the manual到无济于事:没有改变输出格式。这是我一直使用的第一个例子,因为这是他们使用的第一个例子。尽管DEBUG级别的设置只能看到ERROR级别的消息,并且格式根本不符合ConversionPattern。
# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG, A1
# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender
# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
的这两个log4j2罐子下我外部库我的项目中部分:的log4j-API 2.5jar和log4j的核心 - 2.5.jar;代码编译并运行。
我在这里完全丧失,但仍然在我的手中。如果您有任何想法或曾经见过,我真的很感激您的想法。提前谢谢你。
您是否尝试过简单的xml-config? – Fildor
似乎类似的问题在这里讨论[这里](http://stackoverflow.com/questions/14733698/log4j-2-configuration-issue?rq=1) – Shivakumar
呃,你链接到log4j 1.2手册。我想你应该坚持log4j 2手册:http://logging.apache.org/log4j/2.x/manual/configuration.html – Fildor