登录lobgack时如何处理磁盘已满错误?

Gir*_*ish 9 java logging logback slf4j

我正在使用slf4j + logback登录我们的应用程序.早些时候我们使用jcl + log4j并最近移动了.

由于我们的应用程序中存在大量日志记录,因此在生产环境中磁盘可能已满.在这种情况下,我们需要停止记录,应用程序应该正常工作.我在网上发现的是,我们需要轮询logback StatusManager以查找此类错误.但是这将为应用程序添加一个带有logback的依赖项.对于log4j,我发现我们可以创建一个Appender来停止在这种情况下登录.这将再次导致与log4j的应用程序依赖.

有没有办法只用slf4j配置它,还是有其他机制来处理这个?

Cek*_*eki 8

您不必执行任何操作或配置任何内容.Logback旨在很好地处理这种情况.一旦目标磁盘已满,logback FileAppender将停止写入它一段短暂的时间.一旦延迟过去,它将尝试恢复.如果恢复尝试失败,则等待时间逐渐增加到最多1小时.如果恢复尝试成功,FileAppender将再次开始记录.

该过程完全自动化并无缝扩展到RollingFileAppender.另请参阅优雅恢复.

更个人化的说法,优雅的恢复是我最喜欢的后退功能.