--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+ ============LICENSE_START==========================================\r
+ ONAP Portal\r
+ ===================================================================\r
+ Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
+ Modifications Copyright © 2018 Amdocs, Bell Canada \r
+ ====================================================================\r
+ Unless otherwise specified, all software contained herein is licensed\r
+ under the Apache License, Version 2.0 (the “License”);\r
+ you may not use this software except in compliance with the License.\r
+ You may obtain a copy of the License at\r
+\r
+ http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+ Unless required by applicable law or agreed to in writing, software\r
+ distributed under the License is distributed on an "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ See the License for the specific language governing permissions and\r
+ limitations under the License.\r
+\r
+ Unless otherwise specified, all documentation contained herein is licensed\r
+ under the Creative Commons License, Attribution 4.0 Intl. (the “License”);\r
+ you may not use this documentation except in compliance with the License.\r
+ You may obtain a copy of the License at\r
+\r
+ https://creativecommons.org/licenses/by/4.0/\r
+\r
+ Unless required by applicable law or agreed to in writing, documentation\r
+ distributed under the License is distributed on an "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ See the License for the specific language governing permissions and\r
+ limitations under the License.\r
+\r
+ ============LICENSE_END============================================\r
+-->\r
+<!DOCTYPE xml>\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+\r
+ <!-- specify the component name -->\r
+ <property name="componentName" value="onapportal"></property>\r
+\r
+ <!-- specify the base path of the log directory -->\r
+ <property name="logDirPrefix" value="/var/log/onap"></property>\r
+\r
+ <!-- The directories where logs are written -->\r
+ <property name="logDirectory" value="${logDirPrefix}/${componentName}" />\r
+ <!-- Can easily relocate debug logs by modifying this path. -->\r
+ <property name="debugLogDirectory" value="${logDirPrefix}/${componentName}" />\r
+\r
+ <!-- log file names -->\r
+ <property name="generalLogName" value="application" />\r
+ <property name="errorLogName" value="error" />\r
+ <property name="metricsLogName" value="metrics" />\r
+ <property name="auditLogName" value="audit" />\r
+ <property name="debugLogName" value="debug" />\r
+ <!-- These loggers are not used in code (yet). <property name="securityLogName"\r
+ value="security" /> <property name="policyLogName" value="policy" /> <property\r
+ name="performanceLogName" value="performance" /> <property name="serverLogName"\r
+ value="server" /> -->\r
+\r
+ <!-- ServerFQDN=Server, -->\r
+ <property name="auditLoggerPattern"\r
+ value="%X{AuditLogBeginTimestamp}|%X{AuditLogEndTimestamp}|%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{Timer}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| %msg%n" />\r
+\r
+ <property name="metricsLoggerPattern"\r
+ value="%X{MetricsLogBeginTimestamp}|%X{MetricsLogEndTimestamp}|%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{Timer}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{TargetVisualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| %msg%n" />\r
+\r
+ <property name="errorLoggerPattern"\r
+ value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{ClassName}|%X{AlertSeverity}|%X{ErrorCode}|%X{ErrorDescription}| %msg%n" />\r
+\r
+ <property name="defaultLoggerPattern"\r
+ value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%thread|%X{ClassName}| %msg%n" />\r
+\r
+ <!-- use %class so library logging calls yield their class name -->\r
+ <property name="applicationLoggerPattern"\r
+ value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%thread|%class{36}| %msg%n" />\r
+\r
+ <!--\r
+ <property name="defaultPattern"\r
+ 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" />\r
+ <property name="debugLoggerPattern"\r
+ 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" />\r
+ -->\r
+ <!-- <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"\r
+ /> -->\r
+ <!-- Example evaluator filter applied against console appender -->\r
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">\r
+ <encoder>\r
+ <pattern>${applicationLoggerPattern}</pattern>\r
+ </encoder>\r
+ </appender>\r
+\r
+ <!-- ============================================================================ -->\r
+ <!-- EELF Appenders -->\r
+ <!-- ============================================================================ -->\r
+\r
+ <!-- The EELFAppender is used to record events to the general application\r
+ log -->\r
+\r
+\r
+ <appender name="EELF"\r
+ class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+ <file>${logDirectory}/${generalLogName}.log</file>\r
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+ <!-- daily rollover -->\r
+ <fileNamePattern>${logDirectory}/${generalLogName}.log.%d{yyyy-MM-dd}.zip\r
+ </fileNamePattern>\r
+ <maxHistory>30</maxHistory>\r
+ </rollingPolicy>\r
+ <encoder>\r
+ <pattern>${applicationLoggerPattern}</pattern>\r
+ </encoder>\r
+ <filter class="org.openecomp.portalapp.portal.utils.CustomLoggingFilter" />\r
+ </appender>\r
+\r
+ <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">\r
+ <queueSize>256</queueSize>\r
+ <!-- Class name is part of caller data -->\r
+ <includeCallerData>true</includeCallerData>\r
+ <appender-ref ref="EELF" />\r
+ </appender>\r
+\r
+ <!-- EELF Security Appender. This appender is used to record security events\r
+ to the security log file. Security events are separate from other loggers\r
+ in EELF so that security log records can be captured and managed in a secure\r
+ way separate from the other logs. This appender is set to never discard any\r
+ events. -->\r
+ <!-- <appender name="EELFSecurity" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+ <file>${logDirectory}/${securityLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+ <fileNamePattern>${logDirectory}/${securityLogName}.%i.log.zip </fileNamePattern>\r
+ <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy\r
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize>\r
+ </triggeringPolicy> <encoder> <pattern>${defaultPattern}</pattern> </encoder>\r
+ </appender> <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">\r
+ <queueSize>256</queueSize> <discardingThreshold>0</discardingThreshold> <appender-ref\r
+ ref="EELFSecurity" /> </appender> -->\r
+\r
+ <!-- EELF Performance Appender. This appender is used to record performance\r
+ records. -->\r
+ <!-- <appender name="EELFPerformance" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+ <file>${logDirectory}/${performanceLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+ <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip </fileNamePattern>\r
+ <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy\r
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize>\r
+ </triggeringPolicy> <encoder> <outputPatternAsHeader>true</outputPatternAsHeader>\r
+ <pattern>${defaultPattern}</pattern> </encoder> </appender> <appender name="asyncEELFPerformance"\r
+ class="ch.qos.logback.classic.AsyncAppender"> <queueSize>256</queueSize>\r
+ <appender-ref ref="EELFPerformance" /> </appender> -->\r
+\r
+ <!-- EELF Server Appender. This appender is used to record Server related\r
+ logging events. The Server logger and appender are specializations of the\r
+ EELF application root logger and appender. This can be used to segregate\r
+ Server events from other components, or it can be eliminated to record these\r
+ events as part of the application root log. -->\r
+ <!-- <appender name="EELFServer" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+ <file>${logDirectory}/${serverLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+ <fileNamePattern>${logDirectory}/${serverLogName}.%i.log.zip </fileNamePattern>\r
+ <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy\r
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize>\r
+ </triggeringPolicy> <encoder> <pattern>${defaultPattern}</pattern> </encoder>\r
+ </appender> <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender">\r
+ <queueSize>256</queueSize> <appender-ref ref="EELFServer" /> </appender> -->\r
+\r
+ <!-- EELF Policy Appender. This appender is used to record Policy engine\r
+ related logging events. The Policy logger and appender are specializations\r
+ of the EELF application root logger and appender. This can be used to segregate\r
+ Policy engine events from other components, or it can be eliminated to record\r
+ these events as part of the application root log. -->\r
+ <!-- <appender name="EELFPolicy" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+ <file>${logDirectory}/${policyLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+ <fileNamePattern>${logDirectory}/${policyLogName}.%i.log.zip </fileNamePattern>\r
+ <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy\r
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize>\r
+ </triggeringPolicy> <encoder> <pattern>${defaultPattern}</pattern> </encoder>\r
+ </appender> <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender">\r
+ <queueSize>256</queueSize> <appender-ref ref="EELFPolicy" /> </appender> -->\r
+\r
+ <!-- EELF Audit Appender. This appender is used to record audit engine related\r
+ logging events. The audit logger and appender are specializations of the\r
+ EELF application root logger and appender. This can be used to segregate\r
+ Policy engine events from other components, or it can be eliminated to record\r
+ these events as part of the application root log. -->\r
+\r
+ <appender name="EELFAudit"\r
+ class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+ <file>${logDirectory}/${auditLogName}.log</file>\r
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+ <!-- daily roll over -->\r
+ <fileNamePattern>${logDirectory}/${auditLogName}.log.%d{yyyy-MM-dd}.zip\r
+ </fileNamePattern>\r
+ <maxHistory>30</maxHistory>\r
+ </rollingPolicy>\r
+ <encoder>\r
+ <pattern>${auditLoggerPattern}</pattern>\r
+ </encoder>\r
+ </appender>\r
+ <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+ <queueSize>256</queueSize>\r
+ <appender-ref ref="EELFAudit" />\r
+ </appender>\r
+\r
+ <appender name="EELFMetrics"\r
+ class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+ <file>${logDirectory}/${metricsLogName}.log</file>\r
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+ <!-- daily roll over -->\r
+ <fileNamePattern>${logDirectory}/${metricsLogName}.log.%d{yyyy-MM-dd}.zip\r
+ </fileNamePattern>\r
+ <maxHistory>30</maxHistory>\r
+ </rollingPolicy>\r
+ <encoder>\r
+ <pattern>${metricsLoggerPattern}</pattern>\r
+ </encoder>\r
+ </appender>\r
+\r
+\r
+ <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+ <queueSize>256</queueSize>\r
+ <appender-ref ref="EELFMetrics" />\r
+ </appender>\r
+\r
+ <appender name="EELFError"\r
+ class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+ <file>${logDirectory}/${errorLogName}.log</file>\r
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+ <!-- daily roll over -->\r
+ <fileNamePattern>${logDirectory}/${errorLogName}.log.%d{yyyy-MM-dd}.zip\r
+ </fileNamePattern>\r
+ <maxHistory>30</maxHistory>\r
+ </rollingPolicy>\r
+ <encoder>\r
+ <pattern>${errorLoggerPattern}</pattern>\r
+ </encoder>\r
+ </appender>\r
+\r
+ <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+ <queueSize>256</queueSize>\r
+ <appender-ref ref="EELFError" />\r
+ </appender>\r
+\r
+ <appender name="EELFDebug"\r
+ class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+ <file>${debugLogDirectory}/${debugLogName}.log</file>\r
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+ <!-- daily roll over -->\r
+ <fileNamePattern>${logDirectory}/${debugLogName}.log.%d{yyyy-MM-dd}.zip\r
+ </fileNamePattern>\r
+ <maxHistory>30</maxHistory>\r
+ </rollingPolicy>\r
+ <encoder>\r
+ <pattern>${defaultLoggerPattern}</pattern>\r
+ </encoder>\r
+ </appender>\r
+\r
+ <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+ <queueSize>256</queueSize>\r
+ <appender-ref ref="EELFDebug" />\r
+ <includeCallerData>true</includeCallerData>\r
+ </appender>\r
+\r
+\r
+ <!-- ============================================================================ -->\r
+ <!-- EELF loggers -->\r
+ <!-- ============================================================================ -->\r
+ <logger name="com.att.eelf" level="info" additivity="false">\r
+ <appender-ref ref="asyncEELF" />\r
+ </logger>\r
+\r
+ <!-- <logger name="com.att.eelf.security" level="info" additivity="false">\r
+ <appender-ref ref="asyncEELFSecurity" /> </logger> <logger name="com.att.eelf.perf"\r
+ level="info" additivity="false"> <appender-ref ref="asyncEELFPerformance"\r
+ /> </logger> <logger name="com.att.eelf.server" level="info" additivity="false">\r
+ <appender-ref ref="asyncEELFServer" /> </logger> <logger name="com.att.eelf.policy"\r
+ level="info" additivity="false"> <appender-ref ref="asyncEELFPolicy" /> </logger> -->\r
+\r
+ <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+ <appender-ref ref="asyncEELFAudit" />\r
+ </logger>\r
+\r
+ <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+ <appender-ref ref="asyncEELFMetrics" />\r
+ </logger>\r
+\r
+ <logger name="com.att.eelf.error" level="info" additivity="false">\r
+ <appender-ref ref="asyncEELFError" />\r
+ </logger>\r
+\r
+ <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+ <appender-ref ref="asyncEELFDebug" />\r
+ </logger>\r
+\r
+ <root level="INFO">\r
+ <appender-ref ref="asyncEELF" />\r
+ </root>\r
+\r
+</configuration>\r