| <?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-BE" /> |
| <property file="${config.home}/catalog-be/configuration.yaml" /> |
| <property scope="context" name="enable-all-log" value="false" /> |
| |
| <!-- value used by pattern field list (| - is inter-field separator, || - unavailable or not applicable field value) (m - mandatory, o- optional)--> |
| <!--timestamp(m)| requestID(m)| serviceInstanceID(o)| threadID(m)| physicalServerName(o)| serviceName(m)| userID(m)| logLevel(m)| severity(o)| serverIpAddress(m)| serverName(m)| clientIpAddress(o)| className(m)| timer(o)| detailedMessage(o)--> |
| <property name="default-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{InstanceUUID}|%level|%X{alarmSeverity}|%X{localAddr}|%X{ElapsedTime}|${beFqdn}|%X{remoteAddr}|%logger{35}|%X{timer}|ActivityType=<%M>, Desc=<%msg>%n" /> |
| |
| <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}|%msg|%n" /> |
| |
| <property name="audit-log-pattern" value="%X{AuditBeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|ActivityType=<%M>, Desc=<%msg>%n" /> |
| |
| <property name="metric-log-pattern" value="%X{MetricBeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|ActivityType=<%M>, Desc=<%msg>%n" /> |
| |
| <property name="debug-log-pattern" value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%msg|^\n%n"/> |
| |
| <!-- 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>${default-log-pattern}</pattern> |
| </encoder> |
| </appender> |
| |
| <appender name="ASYNC_ALL" class="ch.qos.logback.classic.AsyncAppender"> |
| <appender-ref ref="ALL_ROLLING" /> |
| </appender> |
| </then> |
| </if> |
| |
| <!-- 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> |
| |
| <!-- Audit messages filter - deny audit messages --> |
| <filter class="ch.qos.logback.core.filter.EvaluatorFilter"> |
| <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator"> |
| <marker>AUDIT_MARKER</marker> |
| </evaluator> |
| <onMismatch>NEUTRAL</onMismatch> |
| <onMatch>DENY</onMatch> |
| </filter> |
| |
| <!-- Transaction messages filter - deny Transaction messages --> |
| <filter class="ch.qos.logback.core.filter.EvaluatorFilter"> |
| <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator"> |
| <marker>TRANSACTION_MARKER</marker> |
| </evaluator> |
| <onMismatch>NEUTRAL</onMismatch> |
| <onMatch>DENY</onMatch> |
| </filter> |
| |
| <!-- deny all events with a level below INFO, that is TRACE and DEBUG --> |
| <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> |
| <level>INFO</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> |
| |
| <!-- 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> |
| |
| <!-- No need to deny audit messages - they are INFO only, will be denied |
| anyway --> |
| <!-- Transaction messages filter - deny Transaction messages, there are |
| some DEBUG level messages among them --> |
| <filter class="ch.qos.logback.core.filter.EvaluatorFilter"> |
| <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator"> |
| <marker>TRANSACTION_MARKER</marker> |
| </evaluator> |
| <onMismatch>NEUTRAL</onMismatch> |
| <onMatch>DENY</onMatch> |
| </filter> |
| |
| <!-- accept DEBUG and TRACE level --> |
| <filter class="ch.qos.logback.core.filter.EvaluatorFilter"> |
| <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator"> |
| <expression> |
| e.level.toInt() <= DEBUG.toInt() |
| </expression> |
| </evaluator> |
| <OnMismatch>DENY</OnMismatch> |
| <!--<OnMatch>NEUTRAL</OnMatch>--> |
| <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> |
| |
| |
| <!-- ASDC debug by package--> |
| <appender name="PACKAGE_DEBUG_ROLLING" |
| class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/debug_by_package.log |
| </file> |
| |
| <!-- No need to deny audit messages - they are INFO only, will be denied |
| anyway --> |
| <!-- Transaction messages filter - deny Transaction messages, there are |
| some DEBUG level messages among them --> |
| <filter class="ch.qos.logback.core.filter.EvaluatorFilter"> |
| <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator"> |
| <marker>TRANSACTION_MARKER</marker> |
| </evaluator> |
| <onMismatch>NEUTRAL</onMismatch> |
| <onMatch>DENY</onMatch> |
| </filter> |
| |
| <!-- accept DEBUG and TRACE level --> |
| <filter class="ch.qos.logback.core.filter.EvaluatorFilter"> |
| <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator"> |
| <expression> |
| e.level.toInt() <= DEBUG.toInt() |
| </expression> |
| </evaluator> |
| <OnMismatch>DENY</OnMismatch> |
| <OnMatch>NEUTRAL</OnMatch> |
| </filter> |
| |
| <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> |
| <fileNamePattern>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/debug_by_package.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> |
| |
| <!-- Audit log --> |
| <appender name="AUDIT_ROLLING" |
| class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| |
| <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/audit.log |
| </file> |
| |
| <!-- Audit messages filter - accept audit messages --> |
| <filter class="ch.qos.logback.core.filter.EvaluatorFilter"> |
| <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator"> |
| <marker>AUDIT_MARKER</marker> |
| <marker>AUDIT</marker> |
| </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}/audit.log.%i |
| </fileNamePattern> |
| <minIndex>1</minIndex> |
| <maxIndex>10</maxIndex> |
| </rollingPolicy> |
| |
| <triggeringPolicy |
| class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> |
| <maxFileSize>20MB</maxFileSize> |
| </triggeringPolicy> |
| <encoder> |
| <pattern>${audit-log-pattern}</pattern> |
| </encoder> |
| </appender> |
| |
| <!-- Metrics log --> |
| <appender name="METRICS_ROLLING" |
| class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| |
| <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/metrics.log |
| </file> |
| |
| <!-- Metric messages filter - accept metric messages --> |
| <filter class="ch.qos.logback.core.filter.EvaluatorFilter"> |
| <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator"> |
| <marker>METRICS</marker> |
| </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}/metrics.log.%i |
| </fileNamePattern> |
| <minIndex>1</minIndex> |
| <maxIndex>10</maxIndex> |
| </rollingPolicy> |
| |
| <triggeringPolicy |
| class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> |
| <maxFileSize>20MB</maxFileSize> |
| </triggeringPolicy> |
| <encoder> |
| <pattern>${metric-log-pattern}</pattern> |
| </encoder> |
| </appender> |
| |
| <!-- SdncTransaction log --> |
| <appender name="TRANSACTION_ROLLING" |
| class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| |
| <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/transaction.log |
| </file> |
| |
| <!-- Transaction messages filter - accept audit messages --> |
| <filter class="ch.qos.logback.core.filter.EvaluatorFilter"> |
| <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator"> |
| <marker>TRANSACTION_MARKER</marker> |
| </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}/transaction.log.%i |
| </fileNamePattern> |
| <minIndex>1</minIndex> |
| <maxIndex>10</maxIndex> |
| </rollingPolicy> |
| |
| <triggeringPolicy |
| class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> |
| <maxFileSize>20MB</maxFileSize> |
| </triggeringPolicy> |
| <encoder> |
| <pattern>${default-log-pattern}</pattern> |
| </encoder> |
| </appender> |
| |
| <!-- Asynchronicity Configurations --> |
| <appender name="ASYNC_DEBUG" class="ch.qos.logback.classic.AsyncAppender"> |
| <appender-ref ref="DEBUG_ROLLING" /> |
| </appender> |
| |
| <appender name="ASYNC_TRANSACTION" class="ch.qos.logback.classic.AsyncAppender"> |
| <appender-ref ref="TRANSACTION_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" /> |
| <appender-ref ref="AUDIT_ROLLING" /> |
| <appender-ref ref="ASYNC_TRANSACTION" /> |
| <appender-ref ref="METRICS_ROLLING" /> |
| <if condition='property("enable-all-log").equalsIgnoreCase("true")'> |
| <then> |
| <appender-ref ref="ALL_ROLLING" /> |
| </then> |
| </if> |
| </root> |
| |
| <logger name="org.openecomp.sdc" level="INFO" /> |
| </configuration> |