我是 log4j 的新手。我从 GitHub 克隆了一个项目。然后,我用 maven 生成了 jar 文件以通过 mac 终端运行它。
mvn clean package
jar文件的输出格式如下:
[main] INFO cs.cuf.dm.org.someClassName - Result retrieved
[main] INFO cs.cuf.dm.org.someClassName - Running Done
我想要这种格式的结果:
2008-12-25 13:14:00 [main] INFO cs.cuf.dm.org.someClassName - Result retrieved
2008-12-25 13:15:00 [main] INFO cs.cuf.dm.org.someClassName - Running Done
克隆的项目包含很多
log4j.properties
和log4j2.xml
文件,这里是文件设置:
log4j.rootLogger=debug, stdout, file
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.threshold=info
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm} [%t] %l - %m%n
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.maxFileSize=1024KB
log4j.appender.file.maxBackupIndex=10
log4j.appender.file.File=log/morphrdb.log
log4j.appender.file.threshold=debug
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %m%n
<?xml version="1.0" encoding="UTF-8"?>
<Configuration package="log4j.test"
status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %5p [%t] (%F:%L) - %m%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="log4j.test.Log4jTest" level="trace">
<AppenderRef ref="Console"/>
</Logger>
<Logger name="Jena" level="trace">
<AppenderRef ref="Console"/>
</Logger>
<Root level="trace">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
我试图修改所有
log4j.properties
和log4j2.xml
文件,使PatternLayout遵循这种格式:
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %m%n
但是,控制台上的输出没有任何变化。 我使用maven重新编译并复制了jar文件,但控制台上没有任何变化。
我错过了什么?我应该遵循哪些步骤来将
log4j.properties
和 log4j2.xml
文件中的更改反映到 jar 文件中?