问题标签 [log-rotation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Logback,设置每天最大历史文件
我为我的 logback 配置使用TimeBasedRollingPolicy
和触发策略。SizeAndTimeBasedFNATP
日志文件的翻转设置为每天发生,如果日志文件大小超过限制也会触发。
如果我TimeBasedRollingPolicy
每天滚动执行 setMaxHistory(10) ,那么它将归档过去 10 天内的所有日志文件。但我想要的是每天在 SizeAndTimeBasedFNATP 上设置 maxHIstory。
这可以通过 logback 实现吗?
c++ - 制作一个旋转器的功能,可以在一天中的每一分钟创建一个时间戳
我有一个日志项目,我需要知道如何构建一个功能,以便旋转器在程序运行时每分钟检查一次,并为每分钟创建时间戳,只是为了将全天的时间戳存储到日志文件中,请帮忙。
谢谢
logging - Nginx 日志轮换正在发生,logrotation.d 中没有任何文件
我刚刚在基于 RPM 的 Linux 中编译并安装了 nginx。注意到访问日志和错误日志的日志轮换正在发生。但是没有/logrotation.d/
对目录进行操作的文件/var/log/nginx/
。
我需要更改归档日志的文件名格式,但由于 logrotation.d 中没有文件,不知道要更改什么。
任何帮助将不胜感激。谢谢 :)
log4j - 当 logrotate 旋转日志文件时,log4j fileappender 不会切换到新文件
语境:
我想使用 log4j 将与审计相关的日志写入特定的日志文件,比如 audit.log。我不想使用 syslogappender(基于 udp),因为我不想容忍数据丢失。另外,当文件达到一定大小时,我正在使用 logrotate 来轮换 audit.log。
问题:
我遇到的是,当 logrotate 将文件 audit.log 旋转到 audit.log.1 时,log4j 继续写入 audit.log.1 而不是写入 audit.log。
可能的方法:
我知道我可以使用 rollingfileappender 进行日志轮换,而不是使用 logrotate,所以当 rollingfileappender 滚动文件时,它会毫不费力地切换到新文件。但是我不能使用 rollingfileappender 的原因是我想使用 logrotate 的 post rotate 功能在旋转发生后触发一些rollingfileappender 无法提供的脚本。
我能想到的另一种绝望的方法是自己编写一个 log4j 自定义的 appender 来关闭日志文件(audit.log.1)并在检测到文件被轮换时打开新的(audit.log)。
我从未使用过 ExternallyRolledFileAppender,但如果可以使用 logrotate post rotate 将信号发送到 ExternallyRolledFileAppender 并使 log4j 知道文件已旋转,并开始写入新文件?
问题:
只是想知道是否已经发明/编写了一些像这样的附加程序?还是我有其他选择来解决这个问题?
qt - QPlainTextEdit 逐行截断历史
我有一个 GUI 应用程序,其主要部分是QPlainTextEdit。它用于显示应用程序的日志,因此相关的文本会逐行无限增长。
由于应用程序打算运行很长时间,我需要限制将为此日志分配的内存。因此,我希望有一些maxNumLines
或maxNumCharacters
参数来确保在到达时将截断历史记录,即在添加新行时将删除标题行(也称为日志轮换)。
为了实现这一点,我找到了功能
因此,像这样未经测试的代码可能会成功:
这是从 中删除第一行的方法QPlainTextEdit
吗?是否可能有其他 Qt Text GUI 元素更适合此任务(设置最大行数并在列表的开头截断),例如以某种方式显示QStringList
我可以存储行的 a (我可以轻松地erase(0)
)?
或者 QPlainTextEdit 最终是否最终为相关 QString 的大小实现了这样的上限?
logging - 我可以让 Rails 3 将生产日志保存 90 天吗?
Rails 3 似乎会在一段时间后自动截断生产日志。我希望能够保存过去 90 天的生产日志,以便能够审核我的应用程序的行为。根据这个答案,旧的RailsLogger
至少支持将日志分成不同的日子,如果不自动删除旧的,但Rails现在使用BufferedLogger
不支持这些选项。
无论哪种方式,看起来我可能不得不求助于配置 Unixlogrotate
来获得我想要的日志保留策略。这对我来说很好,但我还必须防止 Rails 自动截断日志,这样我就不会丢失任何东西,我不知道该怎么做。
是否有另一种与 Rails 一起使用的日志记录工具(可能是 gem),它可以在一个地方处理这一切?如果没有,我该如何防止BufferedLogger
截断日志,以免妨碍它logrotate
?
bash - 如何在我的脚本轮换时获取日志?
我有一个脚本,我从 tomcat 获取日志并将其发送到我的云资源中。一切正常,但是当我的 tomcat 旋转日志时出现问题。
当日志轮换时,其前缀为日期(日志每天轮换)。由于我的脚本每半小时运行一次,因此在轮换时我可能会错过日志,因为我在示例中使用静态名称获取日志logfile.log
。
在旋转之前,文件将如下所示:
旋转后,它看起来像这样:
有没有办法摆脱这个问题?
编辑:
我的脚本:
提前致谢。
logging - logrotate:为什么在轮换后重新加载服务器配置
我看到 nginx 和 apache 在它们的日志轮换后都发送了某种形式的重新加载信号。为什么是这样?我想知道,因为我正在为我自己的应用程序设置它,并且想知道如果日志在没有更新的情况下轮换,应用程序是否会因某种原因挂起。
unix - logrotate 是复制当前文件还是重命名当前文件
我在网上阅读了几篇文章,但我仍然不明白 logrotate 是如何工作的。
我的配置文件如下:
我注意到每当 logrotate 启动时,我的主要服务性能都会下降一点。我试图找出原因。
我现在能想到两件事。
一种是 logrotate 实际上复制文件而不是重命名它们。这是真的?我知道 logrotate config 有一个名为 copy 的选项。如果我不设置该选项,logrotate 是否仍会复制文件?我的文件很大,每个> 2G。
另一件事是 HUP 信号导致我的服务性能下降。我会跟进的。
谢谢,杰瑞
ruby-on-rails-3 - Log File Rotation in Ruby on Rails
I am working on a website in Ruby on Rails and have enabled log rotation on the server with the reference of blog article.
I have written the following code in my /etc/logrotate.conf file.
But I still happen to get this error once in 2 weeks:
In this case I have to remove the log files manually which is a cause of worry. I have rechecked my settings.
Please suggest why this issue comes even after rotating log daily or how I can I rotate my logs more frequently or any better way to escape this error.
Many Thanks!!