<强度 > 全文: 强度>
我想使用log4j 来将审计相关日志写入特定的日志文件, 不如使用 audit.log 。 我不想使用 syslogappender( udp based), 因为我不想容忍数据丢失。 此外, 当文件达到一定大小时, 我正使用对数来旋转审计 。 log
<强 > 问题: 强>
我遇到的是,当对账旋转文件审计时, log to countal.log.1, log4j 继续写给审计.log.1, 而不是写给审计.log.1。
<强 > 可采用的方法: 强 >
我知道我可以使用滚动文件应用程序来进行日志旋转,而不是使用日志旋转,所以当滚动文件应用程序滚动文件时,它会毫无麻烦地切换到新文件。但是,我之所以不能使用滚动文件应用程序,是因为我想在旋转发生后使用对调的日志旋转功能来触发一些脚本,而滚动文件应用程序无法提供这些脚本。
另一个绝望的方法是自己写一个为log4j定制的附加器, 关闭日志文件( audit.log.1), 并在检测文件旋转时打开新的文件( audit.log) 。
我从未使用外部旋转FileAppender, 但如果可以使用对数旋转柱向外部旋转FileAppender发送信号, 并让log4j知道文件被旋转, 并开始写入新文件吗?
" 强 " 问: 强 >
或者我还有其他办法解决这个问题吗?