如何正确旋转和存档rundeck日志

时间:2017-08-24 05:15:20

标签: log4j2 logrotate rundeck

我正在使用2.6.4-1。由于rundeck日志不会自行存档或自行旋转,或者不会在安装时将conf丢弃到logrotate中;旋转和存档它的最佳方法是什么??

我可以手动将配置删除到logrotate中以便它可以旋转并存档它,也许我可以使用copytruncate,因为Java应用程序(例如Rundeck)通常会忽略像SIGHUP和SIGUSR1这样的UNIX信号,但阻止我使用logrotate的是,rundeck试图通过附加日期戳来旋转日志并将其保留在那里而不进行存档。这使得logrotate无法按预期工作。由于日志的大小不断增长,因此任何替代rundeck日志轮换,归档。

或者帮助我如何避免rundeck尝试通过在日志名称中附加日期戳来旋转日志。像rundeck.access.log一样转向rundeck.access.log.2017-06-02,这使得logrotate无法归档它。

提前致谢。 狮子座王子

1 个答案:

答案 0 :(得分:1)

如您所知,Rundeck使用log4f作为其应用程序日志记录工具。所有日志记录都由log4j控制。如果您使用启动器,则日志配置文件为RD_BASE/log4j.propertiesRD_BASE/etc/log4j.properties

如果您查看log4j.properties文件。您会发现/var/log/rundeck/目录下显示的所有文件的配置都有以下设置:

log4j.appender.cmd-logger=org.apache.log4j.DailyRollingFileAppender
log4j.appender.cmd-logger.file=/var/log/rundeck/command.log
log4j.appender.cmd-logger.datePattern='.'yyyy-MM-dd
log4j.appender.cmd-logger.append=true
log4j.appender.cmd-logger.layout=org.apache.log4j.PatternLayout
log4j.appender.cmd-logger.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c - %m%n

org.apache.log4j.DailyRollingFileAppender使日志文件变为dailly。

日志文件名的dateParttern为'.'yyyy-MM-dd

log4j日志轮换和存档

TimeBasedRollingPolicy

您要查找的设置为FileNamePattern

以下是有关如何使用log4j记录旋转和存档的示例 How to make log files rotate per day and zip old rotated logs using log4j.properties

相关问题