Dwa*_*ing 7 java logging log4j
我在这里看到了很多关于log4j不同的appender的问题,但似乎没有任何问题可以解决我遇到的问题.如果在任何地方重复,请道歉.
我CompositeRollingAppender在我们的应用程序中使用了一个,因为我们需要根据时间和大小滚动日志文件.这与宣传的完全一样,但我们最终得到的文件如下:
myapp.log
myapp.log.2010-12-11
myapp.log.2010-12-11.1
myapp.log.2010-12-12
Run Code Online (Sandbox Code Playgroud)
是否可以更改log4j重命名文件的格式?我敢肯定,必须有一个难以捉摸的特性的地方,我已经错过了.例如,在上述情况下,我想要像:
myapp.log
myapp-2010-12-11.log
myapp-2010-12-11.1.log
myapp-2010-12-12.log
Run Code Online (Sandbox Code Playgroud)
这里的重点是扩展仍然是.log为什么你问?因为我们的应用程序的管理员抱怨他们不能只是双击该文件打开它(我知道,我知道).如果他们都有.log扩展名,那就不是这样了.
提前致谢.
CompositeRollingAppender不支持您想要的功能。它在如何确定(在启动时)是否已经有要附加的适当日志文件方面非常有限。它仅支持将日期和数字附加到配置的静态名称的末尾。
您可以尝试使用 log4j extras CompositeTriggeringPolicy,但我不知道哪个RollingPolicy会同时包含日期和窗口。
管理员的选择是放弃文件的大小限制,以便您可以RollingFileAppender将TimeBasedRollingPolicy
<param name="FileNamePattern" value="MyApp.%d{yyyy-MM-W}.log" />
Run Code Online (Sandbox Code Playgroud)
或使用当前名称或运行 cron 作业来重命名文件,但请记住,直到第二天您才能重命名文件(否则您将遇到文件名冲突)。
| 归档时间: |
|
| 查看次数: |
1161 次 |
| 最近记录: |