如何在我的短期应用程序退出之前完成Logback完全压缩?

时间:2017-11-14 08:38:26

标签: logging logback

我在Logback中使用<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="manage-account-master"> <div class="manage-account-inner"> <div class="manage-account-inner-1"> <div class="manage-account-inner-2"> <ul class="rig"> <li> <div class="flip manage-image-container"> <a href="#"> <img src="https://creativecommons.org/wp-content/uploads/2016/06/search.png" alt=""> </a> <h4>Cats</h4> </div> <div class="panel"> Menus </div> </li> <li> <div class="flip manage-image-container"> <a href="#"> <img src="https://maxcdn.icons8.com/Share/icon/Very_Basic//upload_21600.png" alt=""> </a> <h4>Dogs</h4> </div> <div class="panel"> Menus </div> </li> <li> <div class="flip manage-image-container"> <a href="#"> <img src="http://freedesignfile.com/upload/2017/09/house-icon-vector.jpg" alt=""> </a> <h4>Horses</h4> </div> <div class="panel"> Menus </div> </li> <li> <div class="flip manage-image-container"> <a href="#"> <img src="https://lh3.googleusercontent.com/ez8pDFoxU2ZqDmyfeIjIba6dWisd8MY_6choHhZNpO0WwLhICu0v0s5eV2WHOhuhKw=w170" alt=""> </a> <h4>Settings</h4> </div> <div class="panel"> Menus </div> </li> </ul> </div> </div> </div> </div>来压缩日志。但是,由于我的应用程序是短暂的(运行并立即退出),它随机无法完成压缩日志文件,导致一些rollingPolicy文件。在压缩完成之前,有没有办法让Logback阻止我的应用程序退出?我试图简单地切换到.tmp,但没有运气。

1 个答案:

答案 0 :(得分:0)

自Logback v1.1.3起,您可以在配置中添加ShutdownHook。这将指示Logback正常关闭自己,包括完成任何正在进行的工作,例如在翻转时压缩文件。

在XML配置中,您可以通过在ShutdownHook中添加以下内容来添加logback.xml

<shutdownHook class="ch.qos.logback.core.hook.DelayingShutdownHook"/>

或者,您可以明确说明所需的延迟时间(以毫秒为单位),如下所示:

<shutdownHook class="ch.qos.logback.core.hook.DelayingShutdownHook">
    <delay>100</delay>
</shutdownHook>

更多详情in the docs。注意:文档错误地暗示您不需要提供关闭钩子类名。但是,您必须提供一个班级名称(其中包含open issue以修复文档)。