首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring服务中的日志轮转

Spring服务中的日志轮转
EN

Stack Overflow用户
提问于 2018-02-08 09:27:31
回答 2查看 4.9K关注 0票数 3

我正在将SpringBoot2.0.0-RC1应用程序部署为init.d服务,但我不知道如何配置日志旋转。这个应用程序记录到/var/log/appname.log,但是如果我配置log旋转,日志记录会在旋转之后停止,因为创建了一个新文件,并且嵌入式脚本中定义的stdout/stderr重定向不再工作。

如果在日志系统中配置日志旋转,有两个问题:无法在/var/log中创建文件,而且在嵌入式脚本中仍然定义了重定向。

解决这个问题的正确方法是什么?

EN

回答 2

Stack Overflow用户

发布于 2018-02-14 11:21:01

我在几个应用程序中也面临着同样的问题,添加copytruncate param是解决方案,因为您的Spring应用程序不理解文件已经更改(截断),并且充当一个tail -f命令(有关详细信息,请参阅“尾巴”命令的“-f”参数是如何工作的? )。

示例:

代码语言:javascript
复制
/opt/payara41/glassfish/domains/domain1/logs/* {
    daily
    copytruncate
    rotate 3
    dateext
    notifempty
}

抄写 创建副本后,将原始日志文件截断到零大小,而不是移动旧日志文件并可选择创建新日志文件。当某个程序无法被告知关闭它的日志文件时,可以使用它,因此可能会永远地将其写入(附加)到前一个日志文件。请注意,从复制文件到截断文件之间有很小的时间间隔,因此可能会丢失一些日志数据。当使用此选项时,创建选项将不会产生任何效果,因为旧的日志文件将保持在原处。

票数 3
EN

Stack Overflow用户

发布于 2018-02-08 16:00:06

我找到了解决方案,它是对数旋转中复制截断的选项。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48681916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档