Java 如何在log4j2中指定日志文件
在log4j中,我可以指定如下文件:Java 如何在log4j2中指定日志文件,java,log4j,Java,Log4j,在log4j中,我可以指定如下文件: log4j.additivity.org.springframework.ws.server.MessageTracing=false log4j.logger.org.springframework.ws.server.MessageTracing=TRACE, AUDIT log4j.additivity.org.springframework.ws.client.MessageTracing=false log4j.logger.org.springf
log4j.additivity.org.springframework.ws.server.MessageTracing=false
log4j.logger.org.springframework.ws.server.MessageTracing=TRACE, AUDIT
log4j.additivity.org.springframework.ws.client.MessageTracing=false
log4j.logger.org.springframework.ws.client.MessageTracing=TRACE, AUDIT
当我想登录名为AUDIT的appender时
我应该如何将其重写为log4j2xml配置
更新
我定义了根记录器,如:
<Root level="error">
<AppenderRef ref="console" />
<AppenderRef ref="syslog" />
</Root>
但是在log4j2中,我不知道如何在一句话中重写您是否尝试过以下方法,您需要首先定义应用程序appender:
<Appenders>
<File name="app" fileName="logs/app.log">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
</PatternLayout>
</File>
</Appenders>
<logger name="org.my.project" level="debug">
<appender-ref ref="app" />
</logger>
然后定义记录器的附加器:
<Appenders>
<File name="app" fileName="logs/app.log">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
</PatternLayout>
</File>
</Appenders>
<logger name="org.my.project" level="debug">
<appender-ref ref="app" />
</logger>
那么您需要登录到单独的日志文件吗?是的,我不想将它们登录到rootyes,我尝试了,但没有更好的解决方案?我想指定大约10个包,当log4j2比第一个更好时,我希望得到更优雅的解决方案(据我所知),除此之外,所有子日志记录程序都继承相同的日志记录程序定义,例如:org.my.project.*下的所有内容都将对org.my.project使用相同的日志记录程序定义,除非另有规定,但我希望记录来自第三方库(如org.springframework)的信息,所以在log4j中,我可以用一个聪明易懂的句子来做这件事,而在log4j2中,我需要做一些可怕的事情,我不同意。我发现XML配置比log4j中的.properties样式更易于阅读。但是在这里定义它们的方法是相同的——只需为每一个创建一个记录器定义。没有人说XML不那么冗长。