| <!-- |
| ============LICENSE_START======================================================= |
| ONAP - SO |
| ================================================================================ |
| Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. |
| ================================================================================ |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| ============LICENSE_END========================================================= |
| --> |
| <configuration scan="true" debug="false"> |
| <contextListener class="org.onap.so.logger.LoggerStartupListener" /> |
| <include resource="org/springframework/boot/logging/logback/defaults.xml" /> |
| |
| <property name="queueSize" value="256" /> |
| <property name="maxFileSize" value="200MB" /> |
| <property name="maxHistory" value="30" /> |
| <property name="totalSizeCap" value="10GB" /> |
| |
| <!-- log file names --> |
| <property name="errorLogName" value="error" /> |
| <property name="metricsLogName" value="metrics" /> |
| <property name="auditLogName" value="audit" /> |
| <property name="debugLogName" value="debug" /> |
| |
| <property name="currentTimeStamp" value="%d{"yyyy-MM-dd'T'HH:mm:ss.SSSXXX",UTC}" /> |
| |
| <property name="errorPattern" |
| value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestID}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode:-500}|%X{ErrorDesc}|%msg%n" /> |
| |
| <property name="debugPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestID}|%logger{50} - %msg%n" /> |
| |
| <property name="auditPattern" |
| value="%X{EntryTimestamp}|%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX,UTC}|%X{RequestID}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}||||%marker|%mdc|||%msg%n" /> |
| |
| <property name="metricPattern" |
| value="%X{InvokeTimestamp}|%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX,UTC}|%X{RequestID}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|%marker|%mdc|||%msg%n" /> |
| |
| <property name="defaultPattern" |
| value="%nopexception%logger |
| \t%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX,UTC} |
| \t%level |
| \t%replace(%replace(%message){'\t','\\\\t'}){'\n','\\\\n'} |
| \t%replace(%replace(%mdc){'\t','\\\\t'}){'\n','\\\\n'} |
| \t%replace(%replace(%rootException){'\t','\\\\t'}){'\n','\\\\n'} |
| \t%replace(%replace(%marker){'\t','\\\\t'}){'\n','\\\\n'} |
| \t%thread |
| \t%n" /> |
| |
| <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> |
| <encoder> |
| <pattern>${errorPattern}</pattern> |
| </encoder> |
| </appender> |
| |
| <appender name="Audit" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| <filter class="ch.qos.logback.core.filter.EvaluatorFilter"> |
| <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator"> |
| <marker>EXIT</marker> |
| </evaluator> |
| <onMismatch>DENY</onMismatch> |
| <onMatch>ACCEPT</onMatch> |
| </filter> |
| <file>${logs_dir:-.}/${auditLogName}.log</file> |
| <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> |
| <fileNamePattern>${logs_dir:-.}/${auditLogName}.%d{yyyy-MM-dd}.%i.log.zip |
| </fileNamePattern> |
| <maxFileSize>${maxFileSize}</maxFileSize> |
| <maxHistory>${maxHistory}</maxHistory> |
| <totalSizeCap>${totalSizeCap}</totalSizeCap> |
| </rollingPolicy> |
| <encoder> |
| <pattern>${auditPattern}</pattern> |
| </encoder> |
| </appender> |
| |
| <appender name="asyncAudit" class="ch.qos.logback.classic.AsyncAppender"> |
| <queueSize>256</queueSize> |
| <appender-ref ref="Audit" /> |
| </appender> |
| |
| <appender name="Metric" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| <filter class="ch.qos.logback.core.filter.EvaluatorFilter"> |
| <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator"> |
| <marker>INVOKE-RETURN</marker> |
| </evaluator> |
| <onMismatch>DENY</onMismatch> |
| <onMatch>ACCEPT</onMatch> |
| </filter> |
| <file>${logs_dir:-.}/${metricsLogName}.log</file> |
| <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> |
| <fileNamePattern>${logs_dir:-.}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log.zip |
| </fileNamePattern> |
| <maxFileSize>${maxFileSize}</maxFileSize> |
| <maxHistory>${maxHistory}</maxHistory> |
| <totalSizeCap>${totalSizeCap}</totalSizeCap> |
| </rollingPolicy> |
| <encoder> |
| <pattern>${metricPattern}</pattern> |
| </encoder> |
| </appender> |
| |
| |
| <appender name="asyncMetric" class="ch.qos.logback.classic.AsyncAppender"> |
| <queueSize>256</queueSize> |
| <appender-ref ref="Metric" /> |
| </appender> |
| |
| <appender name="Error" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| <level>ERROR</level> |
| <onMatch>ACCEPT</onMatch> |
| <onMismatch>DENY</onMismatch> |
| </filter> |
| <file>${logs_dir:-.}/${errorLogName}.log</file> |
| <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> |
| <fileNamePattern>${logs_dir:-.}/${errorLogName}.%d{yyyy-MM-dd}.%i.log.zip |
| </fileNamePattern> |
| <maxFileSize>${maxFileSize}</maxFileSize> |
| <maxHistory>${maxHistory}</maxHistory> |
| <totalSizeCap>${totalSizeCap}</totalSizeCap> |
| </rollingPolicy> |
| <encoder> |
| <pattern>${errorPattern}</pattern> |
| </encoder> |
| </appender> |
| |
| <appender name="asyncError" class="ch.qos.logback.classic.AsyncAppender"> |
| <queueSize>256</queueSize> |
| <appender-ref ref="Error" /> |
| </appender> |
| |
| <appender name="Debug" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| <filter class="ch.qos.logback.core.filter.EvaluatorFilter"> |
| <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator"> |
| <marker>INVOKE</marker> |
| <marker>INVOKE-RETURN</marker> |
| <marker>ENTRY</marker> |
| <marker>EXIT</marker> |
| </evaluator> |
| <onMismatch>ACCEPT</onMismatch> |
| <onMatch>DENY</onMatch> |
| </filter> |
| <file>${logs_dir:-.}/${debugLogName}.log</file> |
| <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> |
| <fileNamePattern>${logs_dir:-.}/${debugLogName}.%d{yyyy-MM-dd}.%i.log.zip |
| </fileNamePattern> |
| <maxFileSize>${maxFileSize}</maxFileSize> |
| <maxHistory>${maxHistory}</maxHistory> |
| <totalSizeCap>${totalSizeCap}</totalSizeCap> |
| </rollingPolicy> |
| <encoder> |
| <pattern>${debugPattern}</pattern> |
| </encoder> |
| </appender> |
| |
| <appender name="asyncDebug" class="ch.qos.logback.classic.AsyncAppender"> |
| <queueSize>256</queueSize> |
| <appender-ref ref="Debug" /> |
| <includeCallerData>true</includeCallerData> |
| </appender> |
| |
| <!-- Spring related loggers --> |
| <logger name="org.springframework" level="WARN" /> |
| <logger name="org.springframework.security.authentication.dao.DaoAuthenticationProvider" level="DEBUG" /> |
| |
| <!-- Camunda related loggers --> |
| <logger name="org.camunda.bpm.engine.jobexecutor.level" level="WARN" /> |
| <logger name="org.camunda.bpm.engine.impl.persistence.entity.JobEntity.level" level="WARN" /> |
| |
| <logger name="org.apache.wire" level="DEBUG" /> |
| <logger name="org.onap" level="DEBUG" /> |
| <logger name="com.att.ecomp" level="DEBUG" /> |
| <logger name="org.apache.cxf.interceptor" level="DEBUG" /> |
| <logger name="com.att.commons" level="DEBUG" /> |
| <logger name="org.reflections" level="ERROR" /> |
| |
| <logger name="AUDIT" level="INFO" additivity="false"> |
| <appender-ref ref="asyncAudit" /> |
| </logger> |
| |
| <logger name="METRIC" level="INFO" additivity="false"> |
| <appender-ref ref="asyncMetric" /> |
| </logger> |
| |
| <root level="INFO"> |
| <appender-ref ref="asyncDebug" /> |
| <appender-ref ref="asyncError" /> |
| <appender-ref ref="asyncAudit" /> |
| <appender-ref ref="asyncMetric" /> |
| <appender-ref ref="STDOUT" /> |
| </root> |
| |
| </configuration> |