[
https://issues.apache.org/jira/browse/ARTEMIS-4531?focusedWorklogId=896315&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-896315
]
ASF GitHub Bot logged work on ARTEMIS-4531:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 19/Dec/23 15:44
Start Date: 19/Dec/23 15:44
Worklog Time Spent: 10m
Work Description: geertschuring opened a new pull request, #4718:
URL: https://github.com/apache/activemq-artemis/pull/4718
Added a DefaultRolloverStrategy with a max of 5 files to the log appenders
"log_file" and "audit_log_file" to prevent the (unlikely, I admit) situation
where the system runs out of disk space because of the limitless growth of the
amount of log files written to disk.
Issue Time Tracking
-------------------
Worklog Id: (was: 896315)
Remaining Estimate: 0h
Time Spent: 10m
> Limit logfile output by default
> -------------------------------
>
> Key: ARTEMIS-4531
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4531
> Project: ActiveMQ Artemis
> Issue Type: Improvement
> Components: Broker
> Affects Versions: 2.31.2
> Reporter: Geert Schuring
> Priority: Minor
> Time Spent: 10m
> Remaining Estimate: 0h
>
> The logging config does not limit the amount of rolled-over logfiles that are
> stored, causing a minor resource leak. The system will (eventually) run out
> of disk space without manual intervention.
> The relevant config in etc/log4j2.properties currently looks like this:
> {code:java}
> # Log file appender
> appender.log_file.type = RollingFile
> appender.log_file.name = log_file
> appender.log_file.fileName = ${sys:artemis.instance}/log/artemis.log
> appender.log_file.filePattern =
> ${sys:artemis.instance}/log/artemis.log.%d{yyyy-MM-dd}
> appender.log_file.layout.type = PatternLayout
> appender.log_file.layout.pattern = %d %-5level [%logger] %msg%n
> appender.log_file.policies.type = Policies
> appender.log_file.policies.cron.type = CronTriggeringPolicy
> appender.log_file.policies.cron.schedule = 0 0 0 * * ?
> appender.log_file.policies.cron.evaluateOnStartup = true
> # Audit log file appender
> appender.audit_log_file.type = RollingFile
> appender.audit_log_file.name = audit_log_file
> appender.audit_log_file.fileName = ${sys:artemis.instance}/log/audit.log
> appender.audit_log_file.filePattern =
> ${sys:artemis.instance}/log/audit.log.%d{yyyy-MM-dd}
> appender.audit_log_file.layout.type = PatternLayout
> appender.audit_log_file.layout.pattern = %d [AUDIT](%t) %msg%n
> appender.audit_log_file.policies.type = Policies
> appender.audit_log_file.policies.cron.type = CronTriggeringPolicy
> appender.audit_log_file.policies.cron.schedule = 0 0 0 * * ?
> appender.audit_log_file.policies.cron.evaluateOnStartup = true{code}
> This results in a new log file every day if there is any logging output.
> These files are never deleted and keep accumulating.
> After setting a limit of 5 files it looks like this:
> {code:java}
> # Log file appender
> appender.log_file.type = RollingFile
> appender.log_file.name = log_file
> appender.log_file.fileName = ${sys:artemis.instance}/log/artemis.log
> appender.log_file.filePattern =
> ${sys:artemis.instance}/log/artemis.log.%d{yyyy-MM-dd}
> appender.log_file.layout.type = PatternLayout
> appender.log_file.layout.pattern = %d %-5level [%logger] %msg%n
> appender.log_file.policies.type = Policies
> appender.log_file.policies.cron.type = CronTriggeringPolicy
> appender.log_file.policies.cron.schedule = 0 0 0 * * ?
> appender.log_file.policies.cron.evaluateOnStartup = true
> appender.log_file.strategy.type = DefaultRolloverStrategy
> appender.log_file.strategy.max = 5
> # Audit log file appender
> appender.audit_log_file.type = RollingFile
> appender.audit_log_file.name = audit_log_file
> appender.audit_log_file.fileName = ${sys:artemis.instance}/log/audit.log
> appender.audit_log_file.filePattern =
> ${sys:artemis.instance}/log/audit.log.%d{yyyy-MM-dd}
> appender.audit_log_file.layout.type = PatternLayout
> appender.audit_log_file.layout.pattern = %d [AUDIT](%t) %msg%n
> appender.audit_log_file.policies.type = Policies
> appender.audit_log_file.policies.cron.type = CronTriggeringPolicy
> appender.audit_log_file.policies.cron.schedule = 0 0 0 * * ?
> appender.audit_log_file.policies.cron.evaluateOnStartup = true
> appender.audit_log_file.strategy.type = DefaultRolloverStrategy
> appender.audit_log_file.strategy.max = 5 {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)