我很困惑。我使用log4j 2进行日志记录,当我用eclipse启动我的程序时,一切正常。但是在将源打包到jar之后,没有日志写入控制台或文件。
这是jar的清单:
Manifest-Version: 1.0
Built-By: s
Build-Jdk: 1.6.0_45
Class-Path: settings settings/log4j2.xml lib/poi-3.9.ja
r lib/commons-codec-1.5.jar lib/mysql-connector-java-5.1.29.jar lib/l
og4j-api-2.0-rc1.jar lib/log4j-core-2.0-rc1.jar
Created-By: Apache Maven 3.0.4
Main-Class: application.Start
Archiver-Version: Plexus Archiver
我的log4j2.xml在这里:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} %C{1}.%M{1}:%L{1} - %msg%n"/>
</Console>
<RollingFile name="app" fileName="log/app.log" bufferedIO="true" filePattern="log/app-%i.log.gz">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} %C{1}.%M{1}:%L{1} - %msg%n"/>
<Policies>
<SizeBasedTriggeringPolicy size="500 KB"/>
</Policies>
</RollingFile >
</Appenders>
<Loggers>
<Logger name="app" level="trace">
<AppenderRef ref="app" />
</Logger>
<Root level="trace">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
lib中的所有其他jar都绑定正确,应用程序运行良好。我对log4j做错了什么?
答案 0 :(得分:1)
我现在有一个解决方案:问题是我的类路径。我已经改变了
Class-Path: settings
到
Class-Path: settings/
说明xml所在的目录就足够了。
答案 1 :(得分:0)
尝试从-Dlog4j.debug=true
(details)开始。然后log4j会在加载配置时打印大量有关配置的信息。
使用log4j 2,尝试<Configuration status="DEBUG">
。