在Java中以摘要方式记录事件,而不是每次事件
我的Java应用程序与数据库进行了大量的同步。每个这样的单一事件都会被记录,例如
logger.info("Starting synchronization...");
synchronizeWithDatabase();
logger.info("Synchronization has ended.");
这会把日志弄得乱七八糟。是否可以每小时记录一次摘要(例如,“从12:00:00到13:00:00有60个成功的同步事件”),并且每次只记录错误?我正在使用slf4j记录器
# 1 楼答案
最简单的方法是编写代码来做你想做的事情。为每个“事件”编写一个包装类,跟踪您上次实际记录事件的时间以及事件发生的次数
然后,在记录的时间超过一小时的呼叫中,实际写入日志消息,并重置计数器
这是我头顶上的草图。没有靠近编译器。不打算用作完全烘焙的溶液