加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 修改CompositeRollingAppender如何重命名文件

发布时间:2020-12-15 03:09:43 所属栏目:Java 来源:网络整理
导读:我在这里看到了很多关于log4j不同的appender的问题,但似乎没有任何问题可以解决我遇到的问题.如果在任何地方重复,请道歉. 我在我们的应用程序中使用CompositeRollingAppender,因为我们需要根据时间和大小滚动日志文件.这与宣传的完全一样,但我们最终得到的文
我在这里看到了很多关于log4j不同的appender的问题,但似乎没有任何问题可以解决我遇到的问题.如果在任何地方重复,请道歉.

我在我们的应用程序中使用CompositeRollingAppender,因为我们需要根据时间和大小滚动日志文件.这与宣传的完全一样,但我们最终得到的文件如下:

myapp.log
myapp.log.2010-12-11
myapp.log.2010-12-11.1
myapp.log.2010-12-12

是否可以更改log4j重命名文件的格式?我敢肯定,我错过了一个难以捉摸的财产.例如,在上述情况下,我想要像:

myapp.log
myapp-2010-12-11.log
myapp-2010-12-11.1.log
myapp-2010-12-12.log

这里的重点是扩展仍然是.log为什么你问?因为我们的应用程序的管理员抱怨他们不能只是双击该文件打开它(我知道,我知道).如果它们都有.log扩展名,那么情况并非如此.

提前致谢.

解决方法

CompositeRollingAppender不支持您想要的功能.它在确定(启动时)是否已存在要附加的适当日志文件时非常有限.它仅支持在配置的静态名称末尾添加日期和编号.

您可以尝试使用log4j extras CompositeTriggeringPolicy,但我不知道RollingPolicy将包括日期和窗口.

管理员的选择是放弃文件的大小限制,这样就可以将RollingFileAppenderTimeBasedRollingPolicy一起使用

<param name="FileNamePattern" value="MyApp.%d{yyyy-MM-W}.log" />

或使用当前名称或运行cron作业来重命名文件,但请记住,您不能重命名文件,直到第二天(否则您将获得文件名冲突).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读