<?xml version = "1.0" encoding = "UTF-8" ?>
<!--
# Copyright © 2018  AT&T, Amdocs, Bell Canada 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.
-->
<included>
	<jmxConfigurator />
	<!-- Example evaluator filter applied against console appender -->
<property name="p_tim" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}"/>
		<property name="p_lvl" value="%level"/>
		<property name="p_log" value="%logger"/>
		<property name="p_mdc" value="%replace(%replace(%mdc){'\t','\\\\t'}){'\n', '\\\\n'}"/>
		<property name="p_msg" value="%replace(%replace(%msg){'\t', '\\\\t'}){'\n','\\\\n'}"/>
		<property name="p_exc" value="%replace(%replace(%rootException){'\t', '\\\\t'}){'\n','\\\\n'}"/>
		<property name="p_mak" value="%replace(%replace(%marker){'\t', '\\\\t'}){'\n','\\\\n'}"/>
		<property name="p_thr" value="%thread"/>
		<property name="defaultPattern" value="%nopexception${p_tim}\t${p_thr}\t${p_lvl}\t${p_log}\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n"/>
		<property name="debugPattern" value="%nopexception${p_tim}|${p_lvl}|${p_mdc}|${p_exc}|%msg%n"/>

		<!-- Example evaluator filter applied against console appender -->
		<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
				<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
						<level>INFO</level>
				</filter>
				<encoder>
					<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n</pattern>
				</encoder>
		</appender>

		<appender name="ERROR"
				class="ch.qos.logback.core.rolling.RollingFileAppender">
				<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
						<level>INFO</level>
				</filter>
				<file>${logDirectory}/error2.log</file>
				<append>true</append>
				<encoder>
						<pattern>${defaultPattern}</pattern>
				</encoder>
				<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
					<fileNamePattern>${outputDirectory}/clamp/error.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
					<maxFileSize>50MB</maxFileSize>
					<maxHistory>30</maxHistory>
					<totalSizeCap>10GB</totalSizeCap>
				</rollingPolicy>
				<triggeringPolicy
						class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
						<maxFileSize>10MB</maxFileSize>
				</triggeringPolicy>
		</appender>

		<appender name="DEBUG"
				class="ch.qos.logback.core.rolling.RollingFileAppender">
				<file>${logDirectory}/debug.log</file>
				<append>true</append>
				<encoder>
						<pattern>${debugPattern}</pattern>
				</encoder>
				<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
					<fileNamePattern>${outputDirectory}/clamp/debug.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
					<maxFileSize>50MB</maxFileSize>
					<maxHistory>30</maxHistory>
					<totalSizeCap>10GB</totalSizeCap>
				</rollingPolicy>
		</appender>


	<appender name="AUDIT"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>${logDirectory}/audit.log</file>
		<append>true</append>
		<encoder>
			<pattern>%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%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}|%msg%n
			</pattern>
		</encoder>
		<rollingPolicy
			class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
			<maxIndex>10</maxIndex>
			<FileNamePattern>${logDirectory}/audit.%i.log.zip
			</FileNamePattern>
		</rollingPolicy>
		<triggeringPolicy
			class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
			<maxFileSize>10MB</maxFileSize>
		</triggeringPolicy>
	</appender>
	<appender name="asyncEELFAudit"
		class="ch.qos.logback.classic.AsyncAppender">
		<queueSize>256</queueSize>
		<appender-ref ref="AUDIT" />
	</appender>

	<appender name="METRIC"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>${logDirectory}/metric.log</file>
		<append>true</append>
		<encoder>
			<pattern>%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%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{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|
				%msg%n</pattern>
		</encoder>
		<rollingPolicy
			class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
			<maxIndex>10</maxIndex>
			<FileNamePattern>${logDirectory}/metric.%i.log.zip
			</FileNamePattern>
		</rollingPolicy>
		<triggeringPolicy
			class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
			<maxFileSize>10MB</maxFileSize>
		</triggeringPolicy>
	</appender>
	<appender name="asyncEELFMetrics"
		class="ch.qos.logback.classic.AsyncAppender">
		<queueSize>256</queueSize>
		<appender-ref ref="METRIC" />
	</appender>

	<!-- SECURITY related loggers -->
	<appender name="SECURITY"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>${logDirectory}/security.log</file>
		<append>true</append>
		<encoder>
			<pattern>%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%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}|%msg%n
			</pattern>
		</encoder>
		<rollingPolicy
			class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
			<maxIndex>10</maxIndex>
			<FileNamePattern>${logDirectory}/security.%i.log.zip
			</FileNamePattern>
		</rollingPolicy>
		<triggeringPolicy
			class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
			<maxFileSize>10MB</maxFileSize>
		</triggeringPolicy>
	</appender>
	<appender name="asyncEELFSecurity"
		class="ch.qos.logback.classic.AsyncAppender">
		<queueSize>256</queueSize>
		<appender-ref ref="SECURITY" />
	</appender>
	<!-- AAF related loggers -->
	<logger name="org.onap.aaf" level="INFO" additivity="true">
		<appender-ref ref="DEBUG" />
	</logger>
	<logger name="org.apache.catalina.core" level="INFO"
		additivity="true">
		<appender-ref ref="DEBUG" />
	</logger>
	<!-- CLDS related loggers -->
	<logger name="org.onap.clamp.clds" level="INFO"
		additivity="true">
		<appender-ref ref="ERROR" />
	</logger>

	<!-- CLDS related loggers -->
	<logger name="com.att.eelf.error" level="OFF" additivity="true">
		<appender-ref ref="ERROR" />
	</logger>
	<!-- EELF related loggers -->
	<logger name="com.att.eelf.audit" level="INFO"
		additivity="false">
		<appender-ref ref="asyncEELFAudit" />
	</logger>
	<logger name="com.att.eelf.metrics" level="DEBUG"
		additivity="false">
		<appender-ref ref="asyncEELFMetrics" />
	</logger>
	<logger name="com.att.eelf.security" level="DEBUG"
		additivity="false">
		<appender-ref ref="asyncEELFSecurity" />
	</logger>

	<!-- Spring related loggers -->
	<logger name="org.springframework" level="DEBUG" />

	<!-- Other Loggers that may help troubleshoot -->
	<logger name="org.apache" level="DEBUG" />

	<!-- logback internals logging -->
	<logger name="ch.qos.logback.classic" level="INFO" />
	<logger name="ch.qos.logback.core" level="INFO" />

	<!-- logback jms appenders & loggers definition starts here -->
	<appender name="auditLogs"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
		</filter>
		<file>${logDirectory}/Audit-${lrmRVer}-${lrmRO}-${Pid}.log</file>
		<rollingPolicy
			class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
			<fileNamePattern>${logDirectory}/Audit-${lrmRVer}-${lrmRO}-${Pid}.%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 [%thread] %-5level %logger{1024} - %msg%n"</pattern>
		</encoder>
	</appender>
	<appender name="perfLogs"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
		</filter>
		<file>${logDirectory}/Perform-${lrmRVer}-${lrmRO}-${Pid}.log</file>
		<rollingPolicy
			class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
			<fileNamePattern>${logDirectory}/Perform-${lrmRVer}-${lrmRO}-${Pid}.%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 [%thread] %-5level %logger{1024} - %msg%n"</pattern>
		</encoder>
	</appender>
	<logger name="AuditRecord" level="INFO" additivity="FALSE">
		<appender-ref ref="auditLogs" />
	</logger>
	<logger name="AuditRecord_DirectCall" level="INFO"
		additivity="FALSE">
		<appender-ref ref="auditLogs" />
	</logger>
	<logger name="PerfTrackerRecord" level="INFO" additivity="FALSE">
		<appender-ref ref="perfLogs" />
	</logger>
	<!-- logback jms appenders & loggers definition ends here -->

	<root level="DEBUG">
		<appender-ref ref="DEBUG" />
		<appender-ref ref="STDOUT" />
	</root>
</included>

