<configuration scan="true" scanPeriod="3 seconds"> <!--<jmxConfigurator /> --> <!-- directory path for all other type logs --> <property name="logDir" value="logs" /> <!-- directory path for debugging type logs --> <property name="debugDir" value="debug-logs" /> <!-- specify the component name --> <property name="componentName" value="SDC" /> <!-- log file names --> <property name="generalLogName" value="application" /> <property name="securityLogName" value="security" /> <property name="performanceLogName" value="performance" /> <property name="serverLogName" value="server" /> <property name="policyLogName" value="policy" /> <property name="errorLogName" value="error" /> <property name="metricsLogName" value="metrics" /> <property name="auditLogName" value="audit" /> <property name="debugLogName" value="debug" /> <property name="defaultPattern" value="%date{ISO8601,UTC}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Timer}| %msg%n" /> <property name="debugLoggerPattern" value="%date{ISO8601,UTC}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Timer}|[%caller{3}]| %msg%n" /> <property name="logDirectory" value="${logDir}/${componentName}" /> <property name="debugLogDirectory" value="${debugDir}/${componentName}" /> <!-- Example evaluator filter applied against console appender --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>${defaultPattern}</pattern> </encoder> </appender> <!-- ============================================================================ --> <!-- EELF Appenders --> <!-- ============================================================================ --> <!-- The EELFAppender is used to record events to the general application log --> <appender name="EELF" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${logDirectory}/${generalLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>${logDirectory}/${generalLogName}.%i.log.zip </fileNamePattern> <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> </triggeringPolicy> <encoder> <pattern>${defaultPattern}</pattern> </encoder> </appender> <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender"> <queueSize>256</queueSize> <appender-ref ref="EELF" /> </appender> <!-- EELF Security Appender. This appender is used to record security events to the security log file. Security events are separate from other loggers in EELF so that security log records can be captured and managed in a secure way separate from the other logs. This appender is set to never discard any events. --> <appender name="EELFSecurity" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${logDirectory}/${securityLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>${logDirectory}/${securityLogName}.%i.log.zip </fileNamePattern> <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> </triggeringPolicy> <encoder> <pattern>${defaultPattern}</pattern> </encoder> </appender> <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender"> <queueSize>256</queueSize> <discardingThreshold>0</discardingThreshold> <appender-ref ref="EELFSecurity" /> </appender> <!-- EELF Performance Appender. This appender is used to record performance records. --> <appender name="EELFPerformance" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${logDirectory}/${performanceLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip </fileNamePattern> <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> </triggeringPolicy> <encoder> <outputPatternAsHeader>true</outputPatternAsHeader> <pattern>${defaultPattern}</pattern> </encoder> </appender> <appender name="asyncEELFPerformance" class="ch.qos.logback.classic.AsyncAppender"> <queueSize>256</queueSize> <appender-ref ref="EELFPerformance" /> </appender> <!-- EELF Server Appender. This appender is used to record Server related logging events. The Server logger and appender are specializations of the EELF application root logger and appender. This can be used to segregate Server events from other components, or it can be eliminated to record these events as part of the application root log. --> <appender name="EELFServer" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${logDirectory}/${serverLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>${logDirectory}/${serverLogName}.%i.log.zip </fileNamePattern> <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> </triggeringPolicy> <encoder> <pattern>${defaultPattern}</pattern> </encoder> </appender> <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender"> <queueSize>256</queueSize> <appender-ref ref="EELFServer" /> </appender> <!-- EELF Policy Appender. This appender is used to record Policy engine related logging events. The Policy logger and appender are specializations of the EELF application root logger and appender. This can be used to segregate Policy engine events from other components, or it can be eliminated to record these events as part of the application root log. --> <appender name="EELFPolicy" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${logDirectory}/${policyLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>${logDirectory}/${policyLogName}.%i.log.zip </fileNamePattern> <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> </triggeringPolicy> <encoder> <pattern>${defaultPattern}</pattern> </encoder> </appender> <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender"> <queueSize>256</queueSize> <appender-ref ref="EELFPolicy" /> </appender> <!-- EELF Audit Appender. This appender is used to record audit engine related logging events. The audit logger and appender are specializations of the EELF application root logger and appender. This can be used to segregate Policy engine events from other components, or it can be eliminated to record these events as part of the application root log. --> <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${logDirectory}/${auditLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>${logDirectory}/${auditLogName}.%i.log.zip </fileNamePattern> <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> </triggeringPolicy> <encoder> <pattern>${defaultPattern}</pattern> </encoder> </appender> <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender"> <queueSize>256</queueSize> <appender-ref ref="EELFAudit" /> </appender> <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${logDirectory}/${metricsLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>${logDirectory}/${metricsLogName}.%i.log.zip </fileNamePattern> <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> </triggeringPolicy> <encoder> <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n"</pattern> --> <pattern>${defaultPattern}</pattern> </encoder> </appender> <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender"> <queueSize>256</queueSize> <appender-ref ref="EELFMetrics"/> </appender> <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${logDirectory}/${errorLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>${logDirectory}/${errorLogName}.%i.log.zip </fileNamePattern> <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> </triggeringPolicy> <encoder> <pattern>${defaultPattern}</pattern> </encoder> </appender> <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender"> <queueSize>256</queueSize> <appender-ref ref="EELFError"/> </appender> <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${debugLogDirectory}/${debugLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>${debugLogDirectory}/${debugLogName}.%i.log.zip </fileNamePattern> <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> </triggeringPolicy> <encoder> <pattern>${debugLoggerPattern}</pattern> </encoder> </appender> <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender"> <queueSize>256</queueSize> <appender-ref ref="EELFDebug" /> <includeCallerData>true</includeCallerData> </appender> <!-- ============================================================================ --> <!-- EELF loggers --> <!-- ============================================================================ --> <logger name="org.openecomp.eelf" level="info" additivity="false"> <appender-ref ref="asyncEELF" /> </logger> <logger name="org.openecomp.eelf.security" level="info" additivity="false"> <appender-ref ref="asyncEELFSecurity" /> </logger> <logger name="org.openecomp.eelf.perf" level="info" additivity="false"> <appender-ref ref="asyncEELFPerformance" /> </logger> <logger name="org.openecomp.eelf.server" level="info" additivity="false"> <appender-ref ref="asyncEELFServer" /> </logger> <logger name="org.openecomp.eelf.policy" level="info" additivity="false"> <appender-ref ref="asyncEELFPolicy" /> </logger> <logger name="org.openecomp.eelf.audit" level="info" additivity="false"> <appender-ref ref="asyncEELFAudit" /> </logger> <logger name="org.openecomp.eelf.metrics" level="info" additivity="false"> <appender-ref ref="asyncEELFMetrics" /> </logger> <logger name="org.openecomp.eelf.error" level="error" additivity="false"> <appender-ref ref="asyncEELFError" /> </logger> <logger name="org.openecomp.eelf.debug" level="debug" additivity="false"> <appender-ref ref="asyncEELFDebug" /> </logger> <appender name="DISPATCHER" class="org.openecomp.core.logging.logback.DispatchingAppender"> <discriminator class="org.openecomp.core.logging.logback.EventTypeDiscriminator"/> <appenderNamePattern>asyncEELF%s</appenderNamePattern> </appender> <root level="DEBUG" additivity="false"> <appender-ref ref="DISPATCHER" /> </root> </configuration>