log4j JDBCAppender按需创建表

时间:2011-02-07 14:42:39

标签: log4j

前段时间,我向a question询问了如何从JDBCAppender获取日志轮换。

事实证明,让JDBCAppender在每个月初切换到新表非常容易,因此旧表可以被转储,存档和删除。

现在的问题是,我现在想要每天轮换日志,每天手工创建一个新的日志记录表会很痛苦。我知道我可以编写一个简单的perl脚本来每天从cron运行,但我宁愿不让另一个组件出错,这可能会在设置平台的新实例时被遗忘。

到目前为止,我能想到的唯一解决方案是将JDBCAppender子类化,使其能够根据需要创建表,但我想知道是否有其他人在这方面有任何解决方案。

1 个答案:

答案 0 :(得分:0)

如果您还没有尝试过,为什么不使用Quartz

它是一个类似于cron的基于Java的调度程序,可以轻松集成到您的应用程序中。只需按照每天午夜(或其他预定时间)执行必要的数据库表管理的方式对其进行配置。

这样,您就没有外部依赖关系,也不必将JDBCAppender子类化。