【问题标题】:How to properly rotate and archive rundeck logs如何正确轮换和归档 rundeck 日志
【发布时间】:2018-02-01 20:27:40
【问题描述】:

我使用的是 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 无法归档它。

提前致谢。 狮子王子

【问题讨论】:

    标签: log4j2 logrotate rundeck


    【解决方案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 使日志文件每天轮换。

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


    log4j 日志轮换和归档

    TimeBasedRollingPolicy

    您要查找的设置是FileNamePattern

    这是一个关于如何使用 log4j 进行日志轮换和归档的示例 How to make log files rotate per day and zip old rotated logs using log4j.properties

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-21
      • 2016-05-21
      • 2021-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-15
      • 2020-07-15
      相关资源
      最近更新 更多