Logback:将进度记录到一行

时间:2013-10-22 13:37:58

标签: java logback progress

我有一个应用程序,需要一些时间来执行升级。 支持工程师可以通过定期查看日志文件来跟踪进度。 这是一种低技术解决方案,但这适用于我们的支持团队。

他们会在日志文件中看到类似的内容:

2013-10-22 - Upgrade progress: x

10秒后,现在是同一行:( 不是新行

2013-10-22 - Upgrade progress: xxx

升级后:

2013-10-22 - Upgrade progress: xxxxxxxxxxxxxxxxxxx - Finished

这是否可以使用logback?

2 个答案:

答案 0 :(得分:2)

坦率地说,我不清楚修改日志条目的价值是什么。我认为支持工程师在时间点拥有进度百分比的运行日志会更有用。

E.g:

2014-01-01 10:10:10 - INFO - Upgrade progress: 1%
2014-01-01 10:10:15 - INFO - Upgrade progress: 5%
2014-01-01 10:10:20 - WARN - Upgrade encountered missed dependency, correcting
2014-01-01 10:10:21 - INFO - Upgrade dependency resolved
2014-01-01 10:10:25 - INFO - Upgrade progress: 10%
...
2014-01-01 10:12:51 - INFO - Upgrade progress: 100% - Finished

这样,支持工程师可以获得当前进展的有用指示,并且该进展将与重要通知或该流程实际工作的其他指示相结合。

至于手头的具体问题,我不知道如何在不认真调整返回功能的情况下做到这一点 - 这意味着创建附加条目的运行日志,而不是修改现有条目。这完全违背了logback或任何基于append的日志框架。

答案 1 :(得分:0)

我认为在理论上可能可以通过实现自定义appender来做这样的事情(参见http://logback.qos.ch/manual/appenders.html)但这实际上并不是日志记录的用途,因此当然不是标准的一部分执行logback。