[
https://issues.apache.org/jira/browse/ARTEMIS-4531?focusedWorklogId=896332&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-896332
]
ASF GitHub Bot logged work on ARTEMIS-4531:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 19/Dec/23 17:03
Start Date: 19/Dec/23 17:03
Worklog Time Spent: 10m
Work Description: jbertram commented on PR #4718:
URL:
https://github.com/apache/activemq-artemis/pull/4718#issuecomment-1863155632
I'm concerned with changing the default in a minor release. While the
current default was problematic for you other folks may be relying upon it.
Ultimately there is no single "correct" setting for this although I agree that
it's sensible to have a conservative default.
I think a good compromise would be to add a `strategy` configuration that's
commented out. That way the current default is preserved, but it's very easy to
change is desired. Could you make this change and squash all the commits?
On a related note, it might also be worth adding an option to the `create`
command to configure this in the future.
Issue Time Tracking
-------------------
Worklog Id: (was: 896332)
Time Spent: 0.5h (was: 20m)
> 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: 0.5h
> 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)