<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="5 seconds"> <property scope="system" name="ECOMP-component-name" value="SDC"/> <property scope="system" name="ECOMP-subcomponent-name" value="SDC-FE"/> <property file="${config.home}/catalog-fe/configuration.yaml"/> <property scope="context" name="enable-all-log" value="false"/> <property name="p_msg" value="%replace(%replace(%replace(%replace(%msg){'\t','\\\\t'}){'\n', '\\\\n'}){'\\\|', '-'}){'\r','\\\\r'}"/> <property name="p_ex" value="%replace(%replace(%replace(%replace(%exception{full}){'\t','\\\\t'}){'\n', '\\\\n'}){'\\\|', '-'}){'\r','\\\\r'}"/> <property name="p_debugInfo" value="%replace(%replace(%replace(%replace(%thread # %level # %logger{35} # %msg){'\t','\\\\t'}){'\n', '\\\\n'}){'\\\|', '-'}){'\r','\\\\r'}"/> <property name="all-log-pattern" value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{BeginTimestamp}|%X{EndTimestamp}|%X{uuid}|%X{serviceInstanceID}|%thread|%X{ServerName}|%X{ServiceName}|${ECOMP-subcomponent-name}|%X{userId}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceID}|%level|%X{alarmSeverity}|%X{localAddr}|%X{ElapsedTime}|${beFqdn}|%X{remoteAddr}|%logger{35}|%X{timer}|ActivityType=<%M>, Desc=<${p_msg}>%n"/> <property name="debug-log-pattern" value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestID}|${p_debugInfo} ${p_ex}|^\n%n%nopex"/> <property name="error-log-pattern" value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestID}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{ErrorCategory}|%X{ErrorCode}|${p_msg} ${p_ex}|%n%nopex"/> <!-- All log --> <if condition='property("enable-all-log").equalsIgnoreCase("true")'> <then> <appender name="ALL_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/all.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/all.log.%i </fileNamePattern> <minIndex>1</minIndex> <maxIndex>10</maxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>20MB</maxFileSize> </triggeringPolicy> <encoder> <pattern>${all-log-pattern}</pattern> </encoder> </appender> </then> </if> <!-- Debug log --> <appender name="DEBUG_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/debug.log</file> <!-- accept INFO, DEBUG and TRACE level --> <filter class="ch.qos.logback.core.filter.EvaluatorFilter"> <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator"> <expression> e.level.toInt() <= INFO.toInt() </expression> </evaluator> <OnMismatch>DENY</OnMismatch> <OnMatch>ACCEPT</OnMatch> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/debug.log.%i </fileNamePattern> <minIndex>1</minIndex> <maxIndex>10</maxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>20MB</maxFileSize> </triggeringPolicy> <encoder> <pattern>${debug-log-pattern}</pattern> </encoder> </appender> <!-- Error log --> <appender name="ERROR_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/error.log</file> <!-- deny all events with a level below WARN, that is INFO TRACE and DEBUG --> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>WARN</level> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/error.log.%i </fileNamePattern> <minIndex>1</minIndex> <maxIndex>10</maxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>20MB</maxFileSize> </triggeringPolicy> <encoder> <pattern>${error-log-pattern}</pattern> </encoder> </appender> <!-- Asynchronicity Configurations --> <appender name="ASYNC_ALL" class="ch.qos.logback.classic.AsyncAppender"> <appender-ref ref="ALL_ROLLING"/> </appender> <appender name="ASYNC_DEBUG" class="ch.qos.logback.classic.AsyncAppender"> <appender-ref ref="DEBUG_ROLLING"/> </appender> <appender name="ASYNC_ERROR" class="ch.qos.logback.classic.AsyncAppender"> <appender-ref ref="ERROR_ROLLING"/> </appender> <root level="INFO"> <appender-ref ref="ASYNC_ERROR"/> <appender-ref ref="ASYNC_DEBUG"/> <if condition='property("enable-all-log").equalsIgnoreCase("true")'> <then> <appender-ref ref="ASYNC_ALL"/> </then> </if> </root> <logger name="org.openecomp.sdc" level="INFO"/> </configuration>