<?xml version="1.0" encoding="UTF-8"?> | |
<!--/*- | |
* ============LICENSE_START======================================================= | |
* OSAM Core | |
* ================================================================================ | |
* Copyright (C) 2018 AT&T | |
* ================================================================================ | |
* 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" scanPeriod="3 seconds" debug="true"> | |
<!-- specify the component name --> | |
<property name="componentName" value="vid"></property> | |
<!-- specify the base path of the log directory --> | |
<property name="logDirPrefix" value="${VID_LOG_DIR}"></property> | |
<!-- The directories where logs are written --> | |
<property name="logDirectory" value="${logDirPrefix}/${componentName}" /> | |
<!-- Can easily relocate debug logs by modifying this path. --> | |
<property name="debugLogDirectory" value="${logDirPrefix}/${componentName}" /> | |
<!-- log file names --> | |
<property name="generalLogName" value="application" /> | |
<property name="errorLogName" value="error" /> | |
<property name="metricsLogName" value="metrics" /> | |
<property name="auditLogName" value="audit" /> | |
<property name="debugLogName" value="debug" /> | |
<!-- | |
These loggers are not used in code (yet). | |
<property name="securityLogName" value="security" /> | |
<property name="policyLogName" value="policy" /> | |
<property name="performanceLogName" value="performance" /> | |
<property name="serverLogName" value="server" /> | |
--> | |
<property name="defaultPattern" value="%date{ISO8601}|%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}|%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}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|[%caller{3}]|%msg%n" />--> | |
<!-- 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> | |
<filter class="org.onap.portalapp.util.CustomLoggingFilter" /> | |
</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="com.att.eelf" level="debug" additivity="false"> | |
<appender-ref ref="asyncEELF" /> | |
</logger> | |
<!-- | |
<logger name="com.att.eelf.security" level="info" additivity="false"> | |
<appender-ref ref="asyncEELFSecurity" /> | |
</logger> | |
<logger name="com.att.eelf.perf" level="info" additivity="false"> | |
<appender-ref ref="asyncEELFPerformance" /> | |
</logger> | |
<logger name="com.att.eelf.server" level="info" additivity="false"> | |
<appender-ref ref="asyncEELFServer" /> | |
</logger> | |
<logger name="com.att.eelf.policy" level="info" additivity="false"> | |
<appender-ref ref="asyncEELFPolicy" /> | |
</logger> | |
--> | |
<logger name="com.att.eelf.audit" level="info" additivity="false"> | |
<appender-ref ref="asyncEELFAudit" /> | |
</logger> | |
<logger name="com.att.eelf.metrics" level="info" additivity="false"> | |
<appender-ref ref="asyncEELFMetrics" /> | |
</logger> | |
<logger name="com.att.eelf.error" level="info" additivity="false"> | |
<appender-ref ref="asyncEELFError" /> | |
</logger> | |
<logger name="com.att.eelf.debug" level="debug" additivity="false"> | |
<appender-ref ref="asyncEELFDebug" /> | |
</logger> | |
<root level="${VID_LOG_LEVEL}"> | |
<appender-ref ref="asyncEELF" /> | |
</root> | |
</configuration> |