Page History
...
By default the log retention period for any log files is 30 days , i.e. log files older than this will be removedand storage consumption of all log files is limited to 5GB. This translates to the fact that log files will be removed that are older than 30 days. If storage consumption exceeds 5GB then older log files will be removed too.
Users are free to modify the Log4j2 configuration to apply their individual log retention period, see below examples explained.
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN" shutdownHook="disable"> <Properties> <Property name="TimeZone">${env:SCHEDULERJS7_CONTROLLER_TZ:-Etc/UTC}</Property> <Property name="LogDir">${env:SCHEDULERJS7_CONTROLLER_LOGS:-logs}</Property> <Property name="LogBasename">${env:SCHEDULERJS7_CONTROLLER_APPNAME:-controller}</Property> <Property name="RetainDays">30d</Property> <Property name="MaxSizeOfRolledOverFiles">5GB</Property> <Property name="MaxSizePerFile">100MB</Property> <!-- Log level of the Root Logger. --> <Property name="RootLogLevel">INFO</Property> <!-- Configuration for a 2nd debug log file (OFF|DEBUG|TRACE) If this value is set to DEBUG or TRACE then the above RootLogLevel has to have the same value. --> <Property name="LogLevelOfDebugLog">OFF</Property> </Properties> <Appenders> <Console name="console" target="SYSTEM_ERR"> <PatternLayout pattern="%highlight{%d{EE HH:mm:ss.SSS}{${TimeZone}} %-5level{INFO=info, DEBUG=debug, TRACE=trace} %logger - %message}{WARN=magenta}%n"/> </Console> <RollingRandomAccessFile name="fileInfo" fileName="${LogDir}/${LogBasename}.log" filePattern="${LogDir}/${LogBasename}-%d{yyyy-MM-dd}-%i.log.gz" immediateFlush="false"> <PatternLayout pattern="%d{ISO8601}{${TimeZone}} %-5level{INFO=info, DEBUG=debug, TRACE=trace} %logger - %message%n" charset="UTF-8"/> <Policies> <TimeBasedTriggeringPolicy/> <SizeBasedTriggeringPolicy size="${MaxSizePerFile}"/> </Policies> <DefaultRolloverStrategy fileIndex="nomax"> <Delete basePath="${LogDir}/" followLinks="true"> <IfFileName glob="*/${LogBasename}-*.log.gz" /> <IfAny> <IfLastModified age="${RetainDays}" /> <IfAccumulatedFileSize exceeds="${MaxSizeOfRolledOverFiles}"/> </IfAny> </IfFileName> </Delete> </DefaultRolloverStrategy> </RollingRandomAccessFile> <RollingRandomAccessFile name="fileDebug" fileName="${LogDir}/${LogBasename}-debug.log" filePattern="${LogDir}/${LogBasename}-debug-%d{yyyy-MM-dd}-%i.log.gz" immediateFlush="false"> <PatternLayout pattern="%d{ISO8601}{${TimeZone}} %-5level{INFO=info, DEBUG=debug, TRACE=trace} %logger - %message%n" charset="UTF-8"/> <Policies> <TimeBasedTriggeringPolicy/> <SizeBasedTriggeringPolicy size="${MaxSizePerFile}"/> </Policies> <DefaultRolloverStrategy fileIndex="nomax"> <Delete basePath="${LogDir}/" followLinks="true"> <IfFileName glob="*/${LogBasename}-*.log.gz" /> <IfAny> <IfLastModified age="${RetainDays}" /> <IfAccumulatedFileSize exceeds="${MaxSizeOfRolledOverFiles}"/> </IfAny> </IfFileName> </Delete> </DefaultRolloverStrategy> </RollingRandomAccessFile> </Appenders> <Loggers> <Logger name="spray" level="INFO"/> <Logger name="akka" level="INFO"/> <Logger name="akka.event.slf4j.Slf4jLogger" level="WARN"/> <Logger name="js7.common.akkahttp.web.auth.GateKeeper" level="ERROR"/> <Root level="${RootLogLevel}"> <!--AppenderRef ref="console" level="ERROR"/--> <AppenderRef ref="fileInfo" level="INFO"/> <AppenderRef ref="fileDebug" level="${LogLevelOfDebugLog}"/> </Root> </Loggers> </Configuration> |
Explanation:
- The Log4j2 configuration file is the same for Controllers and Agents except for the fact that environment variables in lines 4-6 for Agents use:
<Property name="TimeZone">${env:JS7_AGENT_TZ:-Etc/UTC}</Property>
<Property name="LogDir">${env:JS7_AGENT_LOGS:-logs}</Property>
<Property name="LogBasename">${env:JS7_AGENT_APPNAME:-agent}</Property>
- To modify the time zone that is applied to log entries and to the point in time of log rotation modify
<Property name="TimeZone">Etc/UTC</Property>
. The time zone is specified by the Controller and Agent start script scripts that sets set the environment variableSCHEDULER_TZ
variablesJS7_CONTROLLER_TZ
andJS7_AGENT_TZ
respectively from the time zone reported by the operating system. - To enable debug mode modify
<property name="RootLogLevel">INFO</property>
and<property name="LogLevelOfDebugLog">OFF</property>
toDEBUG.
- To change the log retention period modify
<Property name="RetainDays">30d</Property>
to some other value. Note the use of the suffixesd
(ays),w
(eeks),m
(onths). - To limit the max. size of individual log files modify
<Property name="MaxSizePerFile">100MB</Property>
to some other value. Note the use of the unitsMB
,GB
. - To limit space storage consumption of all log files modify
<Property name="MaxSizeOfRolledOverFiles">5GB</Property>
to some other value. Note the use of the unitsMB
,GB
.
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <Properties> <Property name="TimeZone">Etc/UTC</Property> <Property name="RetainDays">30d</Property> <Property name="MaxSizeOfRolledOverFiles">5 GB</Property> <Property name="MaxSizePerFile">100 MB</Property> <!-- Log level of the Root Logger. --> <Property name="RootLogLevel">INFO</Property> <!-- Configurations for 2nd debug log files (OFF|DEBUG|TRACE) If one of these values is set to DEBUG or TRACE then the above RootLogLevel has to have the same value. --> <Property name="JocLogLevel">OFF</Property> <Property name="ServiceClusterLogLevel">OFF</Property> <Property name="ServiceHistoryLogLevel">OFF</Property> <Property name="ServiceDailyPlanLogLevel">OFF</Property> <Property name="ServiceCleanupLogLevel">OFF</Property> <Property name="ServiceMonitorLogLevel">DEBUG</Property> <Property name="AuthLogLevel">OFF</Property> <Property name="ConnectionPoolLogLevel">OFF</Property> </Properties> <Appenders> <!-- Appender for audit log --> <RollingFile name="AuditLogAppender" fileName="${sys:user.dir}/logs/audit.log" filePattern="${sys:user.dir}/logs/audit-%d{yyyy-MM}-%i.log.gz" createOnDemand="true"> <PatternLayout pattern="%d{ISO8601}{${TimeZone}} %-5p %m%throwable{short}%n" charset="UTF-8"/> <Policies> <TimeBasedTriggeringPolicy/> <SizeBasedTriggeringPolicy size="${MaxSizePerFile}"/> </Policies> <DefaultRolloverStrategy fileIndex="nomax"/> </RollingFile> <!-- Appender for connection pool log --> ... </Appender> </Appenders> ... <Configuration> |
...
- To change the time zone that is applied to log entries and to the point in time of log rotation modify
<Property name="TimeZone">Etc/UTC</Property>
. The time zone is specified determined by the operating system during installation. - To change the log retention period modify
<Property name="RetainDays">30d</Property>
to some other value. Note the use of the suffixesd
(ays),w
(eeks),m
(onths). - To limit space storage consumption of all log files modify
<Property name="MaxSizeOfRolledOverFiles">5 GB</Property>
to some other value. Note the use of the unitsMB
,GB
. - To limit the max. size of individual log files modify
<Property name="MaxSizePerFile">100 MB</Property>
to some other value. Note the use of the unitsMB
,GB
. - To enable debug mode modify
<property name="RootLogLevel">INFO</property>
toDEBUG
. In addition modify the value of one or more of the following properties to enable debug output with the respective debug log file:Debug Log File Property joc-debug.log
<Property name="JocLogLevel">DEBUG</Property>
service-cluster-debug.log
<Property name="ServieClusterLogLevel">DEBUG</Property>
service-history-debug.log
<Property name="ServieHistoryLogLevel">DEBUG</Property>
service-dailyplan-debug.log
<Property name="ServiceDailyPlanLogLevel">DEBUG</Property>
service-cleanup-debug.log
<Property name="ServiceCleanupLogLevel">DEBUG</Property>
service-monitor-debug.log
<Property name="ServiceMonitorLogLevel">DEBUG</Property>
authentication-debug.log
<Property name="AuthLogLevel">DEBUG</Property>
connection-pool-debug.log
<Property name="ConnectionPoolLogLevel">DEBUG</Property>
...
Overview
Content Tools