我正在迁移一个log4j项目,从使用log4j 1.2登录到使用log4j 2。
log4j 1.x有一个类org.apache.log4j.DailyRollingFileAppender,这个类在我的项目的log4j.properties配置文件中提到过。同名DailyRollingFileAppender的类在log4j 2中不再存在。我想知道DailyRollingFileAppender的角色是否可以被其他类(Es)替代,或者在log4j 2中替代配置或实现。
迁移指南强调,应用程序不能访问log4j 1.x内部的方法和类,例如Appenders,这样才能迁移到log4j 2。但是为了进行迁移,可以对DailyRollingFileAppender做些什么?是否可以用自定义配置或log4j 2中的类组合来替换它?尤其是迁移指南中的一些配置示例,其中一个带有FileAppender,但是DailyRollingFileAppender呢?它与基本的FileAppender非常接近
来自log4j 1.2APIJavadoc,org.apache.log4j.DailyRollingFileAppender类
DailyRollingFileAppender扩展了FileAppender,以便以用户选择的频率滚动底层文件。观察到DailyRollingFileAppender存在同步问题和数据丢失。log4j附加部分包括在新部署时应该考虑的替代方案,这些选项将在org.apache.log4j.rolling.RollingFileAppender文档中讨论。
发布于 2015-06-18 15:01:27
您正在寻找RollingFile附件
<RollingFile name="DAILY_LOG" fileName="log/daily.log"
filePattern="log/%d{ddMMyyyy}_daily.log"
>
<PatternLayout pattern="%d [%7r] %5p - %c - %m%n"/>
<Policies>
<TimeBasedTriggeringPolicy interval="1"/>
</Policies>
</RollingFile>前面的示例按日滚动,间隔为1单位,由文件模式中的日期查找的最小单位确定。换句话说,如果日期模式是d{MMyyyy},那么interval=1对应于一个月的滚动期。
请注意,目前不支持限制超过某一日期或年龄的日志文件的数量。您只能限制每个时间段的日志文件数量。
https://stackoverflow.com/questions/30882982
复制相似问题