我工作的应用程序,一直使用log4j
到现在,我想迁移到log4j2
。我是使用log4j 2
的新手,参考了log4j 1. x迁移指南
,但对于某些部分,我不清楚我的log4j.xml
中的配置应该如何。
当前log4j。xml
文件如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
<!-- Appender for logging to console output -->
<appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender">
<param name="Threshold" value="debug" />
<layout class="org.apache.log4j.EnhancedPatternLayout">
<param name="ConversionPattern" value="[%d{dd-MMM-yyyy HH:mm:ss:SSS}][%5p][%c{1}:%L]- %m%n" />
</layout>
</appender>
<!-- Appender for logging audit messages to the file -->
<appender name="auditLoggerAppender" class="org.apache.log4j.rolling.RollingFileAppender">
<param name="Threshold" value="debug" />
<rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
<param name="ActiveFileName" value="C:/logs/tax_exmp-audit.log" />
<param name="FileNamePattern" value="C:/logs/tax_exmp-audit.%d.log" />
<param name="MaxHistory" value="30" />
</rollingPolicy>
<layout class="org.apache.log4j.EnhancedPatternLayout">
<param name="ConversionPattern" value="[%d{dd-MMM-yyyy HH:mm:ss:SSS}][%5p][%c{1}:%L]- %m%n" />
</layout>
</appender>
<!-- Logger for audit messages -->
<logger name="auditLogger" additivity="false">
<appender-ref ref="applicationLoggerAppender" />
</logger>
</log4j:configuration>
在Log4j2中,XML配置基本上有两个方面的变化:
RollingFileAppender
(参见javadoc),您将使用RollingFile
而不是org。阿帕奇。登录中。log4j。果心阿佩德。滚动文件追加器
,您的appender的简明版本(参见[简明和字符串XML配置])(https://logging.apache.org/log4j/2.x/manual/configuration.html#Configuration_with_XML)将是:
<RollingFile name="auditLoggerAppender"
fileName="C:\logs\tax_exmp-audit.log"
filePattern="C:\logs\tax_exmp-audit.%d.log">
<PatternLayout pattern="[%d{dd-MMM-yyyy HH:mm:ss:SSS}][%5p][%c{1}:%L]- %m%n"/>
<ThresholdFilter level="DEBUG"/>
<TimeBasedTriggeringPolicy/>
<DefaultRolloverStrategy max="30"/>
</RollingFile>
记录器的配置方式类似:
<Logger name="auditLogger" additivity="false">
<AppenderRef ref="auditLoggerAppender" />
</Logger>
您可以在javadoc或XSD模式中找到所有配置属性。
我正在从log4j1迁移。由于最近的漏洞,x到log4j2。另一个依赖项似乎引用了旧的log4j1。x文件。 除了删除旧的log4j1. x文件之外,我还添加了log4j-core、log4j-api和log4j-1.2-api所有2.16版本。我查阅了迁移的留档https://logging.apache.org/log4j/2.x/manual/migration.html,并认为最后一个ja
我有一个使用log4j的java应用程序,配置如下。 log4j.properties 我想使用与上面相同的配置迁移到log4j2。尚未找到任何与log4j2属性配置文件相关的内容,因为最近包含了此支持。 谁能帮我弄清楚我的log4j2怎么样。属性文件是否具有上述相同的配置?
声明 接受LoggerFactory的对org.apache.Log4j.logger.getLogger的调用必须删除org.apache.Log4j.spi.LoggerFactory并使用Log4J2的其他扩展机制之一。 log4j2中有哪些扩展机制,以及如何在log4j2中最好地迁移如下所示的方法
下面的方法已经使用了一段时间,当时我正在处理的系统有log4j。现在我们正在从Log4j转移到Log4j2,我会遇到编译问题。 Log4j2 jar:log4j-api-2.12.1.jar,log4j-core-2.12.1.jar 有没有人可以提供一些帮助,以解决上述问题的正确方法是什么?
我正在将我的应用程序从Log4J1.2迁移到Log4J2-2.8.1版本。下面是log4j.properties文件中现有的1.x配置。
我们有一个使用ApacheAxis2在JBossOpenShift上运行的web服务应用程序。我们正在迁移到log4j2。然而,除了我们的应用程序日志之外,参考库的一些日志(如axis2日志)也使用log4j记录hazelcast日志。我们得出这个结论,因为他们仍然使用旧的log4。属性文件,而不是log4j2。xml文件。我们的应用程序使用log4j2。xml文件。因此将创建两个日志文件,一个用