--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+ ================================================================================\r
+ eCOMP Portal SDK\r
+ ================================================================================\r
+ Copyright (C) 2017 AT&T Intellectual Property\r
+ ================================================================================\r
+ Licensed under the Apache License, Version 2.0 (the "License");\r
+ you may not use this file 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
+ -->\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+ <!-- specify the base path of the log directory -->\r
+ <property name="logDir" value="/var/log/onap" />\r
+ <!-- specify the component name -->\r
+ <property name="componentName" value="vid" />\r
+ <!-- The directory where logs are written -->\r
+ <property name="logDirectory" value="${logDir}/${componentName}" />\r
+ <property name="pattern" value="%d{"yyyy-MM-dd'T'HH:mm:ss.SSSXXX", UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\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
+ <!-- other constants -->\r
+ <property name="queueSize" value="256" />\r
+ <property name="maxFileSize" value="50MB" />\r
+ <property name="maxHistory" value="30" />\r
+ <property name="totalSizeCap" value="10GB" />\r
+ <!-- Example evaluator filter applied against console appender -->\r
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">\r
+ <encoder>\r
+ <pattern>${pattern}</pattern>\r
+ </encoder>\r
+ </appender>\r
+ <!-- ============================================================================ -->\r
+ <!-- EELF Appenders -->\r
+ <!-- ============================================================================ -->\r
+ <!-- The EELFAppender is used to record events to the general application \r
+ log -->\r
+ <appender name="EELF" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+ <file>${logDirectory}/${generalLogName}.log</file>\r
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+ <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+ <maxFileSize>${maxFileSize}</maxFileSize>\r
+ </timeBasedFileNamingAndTriggeringPolicy>\r
+ <maxHistory>${maxHistory}</maxHistory>\r
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+ </rollingPolicy>\r
+ <encoder>\r
+ <pattern>${pattern}</pattern>\r
+ </encoder>\r
+ <filter class="org.openecomp.portalapp.util.CustomLoggingFilter" />\r
+ </appender>\r
+ <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">\r
+ <queueSize>${queueSize}</queueSize>\r
+ <includeCallerData>true</includeCallerData>\r
+ <appender-ref ref="EELF" />\r
+ </appender>\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
+ <!-- \r
+ <appender name="EELFSecurity"\r
+ class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+ <file>${logDirectory}/${securityLogName}.log</file>\r
+ <rollingPolicy\r
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+ <fileNamePattern>${logDirectory}/${securityLogName}.%i.log.zip\r
+ </fileNamePattern>\r
+ <minIndex>1</minIndex>\r
+ <maxIndex>9</maxIndex>\r
+ </rollingPolicy>\r
+ <triggeringPolicy\r
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
+ <maxFileSize>5MB</maxFileSize>\r
+ </triggeringPolicy>\r
+ <encoder>\r
+ <pattern>${defaultPattern}</pattern>\r
+ </encoder>\r
+ </appender>\r
+ \r
+ <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">\r
+ <queueSize>256</queueSize>\r
+ <discardingThreshold>0</discardingThreshold>\r
+ <appender-ref ref="EELFSecurity" />\r
+ </appender>\r
+ -->\r
+ <!-- EELF Performance Appender. This appender is used to record performance \r
+ records. -->\r
+ <!--\r
+ <appender name="EELFPerformance"\r
+ class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+ <file>${logDirectory}/${performanceLogName}.log</file>\r
+ <rollingPolicy\r
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+ <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip\r
+ </fileNamePattern>\r
+ <minIndex>1</minIndex>\r
+ <maxIndex>9</maxIndex>\r
+ </rollingPolicy>\r
+ <triggeringPolicy\r
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
+ <maxFileSize>5MB</maxFileSize>\r
+ </triggeringPolicy>\r
+ <encoder>\r
+ <outputPatternAsHeader>true</outputPatternAsHeader>\r
+ <pattern>${defaultPattern}</pattern>\r
+ </encoder>\r
+ </appender>\r
+ <appender name="asyncEELFPerformance" class="ch.qos.logback.classic.AsyncAppender">\r
+ <queueSize>256</queueSize>\r
+ <appender-ref ref="EELFPerformance" />\r
+ </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 Server \r
+ events from other components, or it can be eliminated to record these events \r
+ as part of the application root log. -->\r
+ <!--\r
+ <appender name="EELFServer"\r
+ class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+ <file>${logDirectory}/${serverLogName}.log</file>\r
+ <rollingPolicy\r
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+ <fileNamePattern>${logDirectory}/${serverLogName}.%i.log.zip\r
+ </fileNamePattern>\r
+ <minIndex>1</minIndex>\r
+ <maxIndex>9</maxIndex>\r
+ </rollingPolicy>\r
+ <triggeringPolicy\r
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
+ <maxFileSize>5MB</maxFileSize>\r
+ </triggeringPolicy>\r
+ <encoder>\r
+ <pattern>${defaultPattern}</pattern>\r
+ </encoder>\r
+ </appender>\r
+ <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender">\r
+ <queueSize>256</queueSize>\r
+ <appender-ref ref="EELFServer" />\r
+ </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
+ <!--\r
+ <appender name="EELFPolicy"\r
+ class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+ <file>${logDirectory}/${policyLogName}.log</file>\r
+ <rollingPolicy\r
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+ <fileNamePattern>${logDirectory}/${policyLogName}.%i.log.zip\r
+ </fileNamePattern>\r
+ <minIndex>1</minIndex>\r
+ <maxIndex>9</maxIndex>\r
+ </rollingPolicy>\r
+ <triggeringPolicy\r
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
+ <maxFileSize>5MB</maxFileSize>\r
+ </triggeringPolicy>\r
+ <encoder>\r
+ <pattern>${defaultPattern}</pattern>\r
+ </encoder>\r
+ </appender>\r
+ <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender">\r
+ <queueSize>256</queueSize>\r
+ <appender-ref ref="EELFPolicy" />\r
+ </appender>\r
+ -->\r
+ <!-- EELF Audit Appender. This appender is used to record audit engine \r
+ related logging events. The audit 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="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+ <file>${logDirectory}/${auditLogName}.log</file>\r
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+ <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+ <maxFileSize>${maxFileSize}</maxFileSize>\r
+ </timeBasedFileNamingAndTriggeringPolicy>\r
+ <maxHistory>${maxHistory}</maxHistory>\r
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+ </rollingPolicy>\r
+ <encoder>\r
+ <pattern>${pattern}</pattern>\r
+ </encoder>\r
+ </appender>\r
+ <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+ <queueSize>${queueSize}</queueSize>\r
+ <appender-ref ref="EELFAudit" />\r
+ </appender>\r
+ <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+ <file>${logDirectory}/${metricsLogName}.log</file>\r
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+ <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+ <maxFileSize>${maxFileSize}</maxFileSize>\r
+ </timeBasedFileNamingAndTriggeringPolicy>\r
+ <maxHistory>${maxHistory}</maxHistory>\r
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+ </rollingPolicy>\r
+ <encoder>\r
+ <pattern>${pattern}</pattern>\r
+ </encoder>\r
+ </appender>\r
+ <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+ <queueSize>${queueSize}</queueSize>\r
+ <appender-ref ref="EELFMetrics" />\r
+ </appender>\r
+ <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+ <file>${logDirectory}/${errorLogName}.log</file>\r
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+ <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+ <maxFileSize>${maxFileSize}</maxFileSize>\r
+ </timeBasedFileNamingAndTriggeringPolicy>\r
+ <maxHistory>${maxHistory}</maxHistory>\r
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+ </rollingPolicy>\r
+ <encoder>\r
+ <pattern>${pattern}</pattern>\r
+ </encoder>\r
+ </appender>\r
+ <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+ <queueSize>${queueSize}</queueSize>\r
+ <appender-ref ref="EELFError" />\r
+ </appender>\r
+ <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+ <file>${logDirectory}/${debugLogName}.log</file>\r
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+ <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+ <maxFileSize>${maxFileSize}</maxFileSize>\r
+ </timeBasedFileNamingAndTriggeringPolicy>\r
+ <maxHistory>${maxHistory}</maxHistory>\r
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+ </rollingPolicy>\r
+ <encoder>\r
+ <pattern>${pattern}</pattern>\r
+ </encoder>\r
+ </appender>\r
+ <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+ <queueSize>${queueSize}</queueSize>\r
+ <appender-ref ref="EELFDebug" />\r
+ </appender>\r
+ <!-- ============================================================================ -->\r
+ <!-- EELF loggers -->\r
+ <!-- ============================================================================ -->\r
+ <logger name="com.att.eelf" level="debug" 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" />\r
+ </logger>\r
+ <logger name="com.att.eelf.perf" level="info" additivity="false">\r
+ <appender-ref ref="asyncEELFPerformance" />\r
+ </logger>\r
+ <logger name="com.att.eelf.server" level="info" additivity="false">\r
+ <appender-ref ref="asyncEELFServer" />\r
+ </logger>\r
+ <logger name="com.att.eelf.policy" level="info" additivity="false">\r
+ <appender-ref ref="asyncEELFPolicy" />\r
+ </logger>\r
+ -->\r
+ <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+ <appender-ref ref="asyncEELFAudit" />\r
+ </logger>\r
+ <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+ <appender-ref ref="asyncEELFMetrics" />\r
+ </logger>\r
+ <logger name="com.att.eelf.error" level="info" additivity="false">\r
+ <appender-ref ref="asyncEELFError" />\r
+ </logger>\r
+ <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+ <appender-ref ref="asyncEELFDebug" />\r
+ </logger>\r
+ <root level="INFO">\r
+ <appender-ref ref="asyncEELF" />\r
+ </root>\r
+</configuration>\r