如何以编程方式确定log4j中何时发生翻转?

par*_*ein 3 log4j

我正在尝试使用log4j来编写CSV文件.每次创建CSV标头时,必须将其写入日志文件的顶部.例如,所有这些已滚动文件必须具有以下作为日志文件中的第一行:

log.0时间戳,名称,最小值,最大值

log.1时间戳,名称,最小值,最大值

log.2时间戳,名称,最小值,最大值

是否可以确定何时发生翻转以便我可以追加标题?

谢谢.

PS:我知道有很多开源CSV编写器,但我不想使用它们,因为我想在我们的软件中使用现有的日志功能.

Jim*_*Jim 6

如果你查看RollingFileAppender的log4j文档,它有一个名为rollOver的方法.

http://logging.apache.org/log4j/1.2/apidocs/index.html

您需要实现从RollingFileAppender继承的自定义文件追加器,并覆盖rollOver方法.我想你可以调用super.rollOver,然后在记录任何内容之前将你想要的任何内容作为标题写入新文件.