Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Configuration Files explained

Controller and Agent

...

Log4j2 Configuration

Code Block
languagexml
titleController, Agent log4j2.xml
linenumberstrue
collapsetrue
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN" shutdownHook="disable">
        <properties>
                <property name="LogLevel">INFO</property>
                <Property name="RetainDays">30d</Property>
                <Property name="MaxSizeOfRolledOverFiles">5GB</Property>
                <Property name="MaxSizePerFile">100MB</Property>
        </properties>

        <appenders>
                <console name="console" target="SYSTEM_ERR">
                        <patternLayout pattern="%highlight{%d{EE HH:mm:ss.SSS} %-5level{INFO=info, DEBUG=debug, TRACE=trace} %logger - %message}{WARN=magenta}%n"/>
                </console>

                <rollingRandomAccessFile name="fileInfo"
                                fileName="${env:SCHEDULER_LOGS}/${env:SCHEDULER_APPNAME}.log"
                                filePattern="${env:SCHEDULER_LOGS}/${env:SCHEDULER_APPNAME}-%d{yyyy-MM-dd}-%i.log.gz"
                                immediateFlush="false">
                        <patternLayout pattern="%d{yyyy-MM-dd HH:mm:ss,SSSZ} %-5level{INFO=info, DEBUG=debug, TRACE=trace} %logger - %message%n"
                                        charset="UTF-8"/>
                        <policies>
                                <onStartupTriggeringPolicy/>
                                <timeBasedTriggeringPolicy/>
                                <sizeBasedTriggeringPolicy size="${MaxSizePerFile}"/>
                        </policies>
                        <DefaultRolloverStrategy fileIndex="nomax">
                                <Delete basePath="${env:SCHEDULER_LOGS}">
                                        <IfFileName glob="*/${env:SCHEDULER_APPNAME}-*.log.gz" />
                                        <IfAny>
                                                <IfLastModified age="${RetainDays}" />
                                                <IfAccumulatedFileSize exceeds="${MaxSizeOfRolledOverFiles}"/>
                                        </IfAny>
                                </Delete>
                        </DefaultRolloverStrategy>
                </rollingRandomAccessFile>

                <rollingRandomAccessFile name="fileDebug"
                                fileName="${env:SCHEDULER_LOGS}/${env:SCHEDULER_APPNAME}-debug.log"
                                filePattern="${env:SCHEDULER_LOGS}/${env:SCHEDULER_APPNAME}-debug-%d{yyyy-MM-dd}-%i.log.gz"
                                immediateFlush="false">
                        <patternLayout pattern="%d{yyyy-MM-dd HH:mm:ss,SSSZ} %-5level{INFO=info, DEBUG=debug, TRACE=trace} %logger - %message%n"
                                        charset="UTF-8"/>
                        <policies>
                                <onStartupTriggeringPolicy/>
                                <timeBasedTriggeringPolicy/>
                                <sizeBasedTriggeringPolicy size="${MaxSizePerFile}"/>
                        </policies>
                        <DefaultRolloverStrategy fileIndex="nomax">
                                <Delete basePath="${env:SCHEDULER_LOGS}">
                                        <IfFileName glob="*/${env:SCHEDULER_APPNAME}-debug-*.log.gz" />
                                        <IfAny>
                                                <IfLastModified age="${RetainDays}" />
                                                <IfAccumulatedFileSize exceeds="${MaxSizeOfRolledOverFiles}"/>
                                        </IfAny>
                                </Delete>
                                        </IfAny>
                                </Delete>
                        </DefaultRolloverStrategy>
                </rollingRandomAccessFile>
        </appenders>

        <loggers>
                <!-- logger name="js7" level="debug"/ -->
                <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="INFO">
                        <!--appenderRef ref="console" level="ERROR"/-->
                        <appenderRef ref="fileInfo" level="INFO"/>
                        <appenderRef ref="fileDebug" level="${LogLevel}"/>
                </root>
        </loggers>
</configuration>

...

  • 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 during installation.
  • To enable debug mode modify <property name="LogLevel">INFO</property> to DEBUG.
  • To change the log retention period modify <Property name="RetainDays">30d</Property> to some other value. Consider to use the suffix d(ays), w(eeks), m(onths).
  • To limit the max. size of an individual log file modify <Property name="MaxSizePerFile">100MB</Property> to some other value. Consider to use the units MB, GB.
  • To limit space consumption of all log files modify <Property name="MaxSizeOfRolledOverFiles">5GB</Property> to some other value. Consider to use the units MB, GB.

JOC Cockpit

...

Log4j2 Configuration

Code Block
languagexml
titleJOC Cockpit log4j2.xml
linenumberstrue
collapsetrue
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
        <Properties>
                <Property name="TimeZone">{Etc/UTC}</Property>
                <Property name="RetainDays">30d</Property>
                <Property name="NumOfFilesPerDay">5</Property>
                <Property name="MaxSizePerFile">100MB</Property>

                <!--Configuration for loggers of the web services in joc.log
                        Possibly values are ERROR, WARN, INFO, DEBUG, TRACE
                        Default: INFO
                -->
                <Property name="RootLogLevel">info</Property>

                <!--Configuration for an extra database log file (database-debug.log) if necessary
                        OFF: without extra log
                        ERROR, WARN, INFO, DEBUG, TRACE: creates extra log with corresponding log level
                        SQL statement are included from DEBUG and their binding with TRACE
                -->
                <Property name="DatabaseLogLevel">off</Property>

                <!--Configuration for an extra shiro log file (shiro.log) if necessary
                        OFF: without extra log
                        ERROR, WARN, INFO, DEBUG, TRACE: creates extra log with corresponding log level
                        SQL statement are included from DEBUG and their binding with TRACE
                -->
                <Property name="AuthLogLevel">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 -->
                ...
        </Appenders>
        ...
<Configuration>

...