Add logback.xml 69/45469/1
authorLee, Tian (tl5884) <tl5884@att.com>
Tue, 1 May 2018 16:31:41 +0000 (17:31 +0100)
committerLee, Tian (tl5884) <TianL@amdocs.com>
Tue, 1 May 2018 16:40:21 +0000 (17:40 +0100)
Change-Id: I523997905f67c9be8a0b8793ffc7ded90913d0b7
Issue-ID: AAI-1111
Signed-off-by: Lee, Tian (tl5884) <tl5884@att.com>
babel/appconfig/logback.xml [new file with mode: 0644]

diff --git a/babel/appconfig/logback.xml b/babel/appconfig/logback.xml
new file mode 100644 (file)
index 0000000..9271732
--- /dev/null
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE xml>
+<configuration scan="true" scanPeriod="30 seconds" debug="true">
+       <include resource="org/springframework/boot/logging/logback/base.xml" />
+
+       <property name="componentName" value="AAI-BAS" />
+       <property name="logDirectory" value="${APP_HOME}/logs/${componentName}" />
+  
+       <!-- default EELF log file names -->
+       <property name="generalLogName" value="error" />
+       <property name="metricsLogName" value="metrics" />
+       <property name="auditLogName" value="audit" />
+       <property name="debugLogName" value="debug" />
+
+       <property name="errorLogPattern"
+               value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{RequestId}|%thread|%mdc{ServiceName}|%mdc{PartnerName}|%mdc{TargetEntity}|%mdc{TargetServiceName}|%.-5level|%logger|%mdc{ClassName}|%msg%n" />
+
+       <property name="auditLogPattern"
+               value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{BeginTimestamp}|%mdc{EndTimestamp}|%mdc{RequestId}|%mdc{ServiceInstanceId}|%thread|%mdc{ServerFQDN}|%mdc{ServiceName}|%mdc{PartnerName}|%mdc{StatusCode}|%mdc{ResponseCode}|%mdc{ResponseDescription}|%logger|%.-5level|||%mdc{ElapsedTime}|%mdc{RemoteHost}|%mdc{ClientAddress}|%mdc{ClassName}|||%msg%n" />
+
+       <property name="metricsLogPattern"
+               value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{BeginTimestamp}|%mdc{EndTimestamp}|%mdc{RequestId}|%mdc{ServiceInstanceId}|%thread|%mdc{ServerFQDN}|%mdc{ServiceName}|%mdc{PartnerName}|%mdc{TargetEntity}|%mdc{TargetServiceName}|%mdc{StatusCode}|%mdc{ResponseCode}|%mdc{ResponseDescription}|%logger|%.-5level|||%mdc{ElapsedTime}|%mdc{RemoteHost}|%mdc{ClientAddress}|%mdc{ClassName}|||%msg%n" />
+
+  <!-- ============================================================================ -->
+  <!-- EELF Appenders -->
+  <!-- ============================================================================ -->
+
+       <appender name="EELF"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <file>${logDirectory}/${generalLogName}.log</file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip
+                       </fileNamePattern>
+                       <maxHistory>60</maxHistory>
+               </rollingPolicy>
+               <encoder>
+                       <pattern>${errorLogPattern}</pattern>
+               </encoder>
+       </appender>
+       <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
+    <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
+               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+                       <level>INFO</level>
+               </filter>
+               <queueSize>256</queueSize>
+               <appender-ref ref="EELF" />
+       </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.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip
+                       </fileNamePattern>
+                       <maxHistory>60</maxHistory>
+               </rollingPolicy>
+               <encoder>
+                       <pattern>${auditLogPattern}</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.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip
+                       </fileNamePattern>
+                       <maxHistory>60</maxHistory>
+               </rollingPolicy>
+               <encoder>
+                       <pattern>${metricsLogPattern}</pattern>
+               </encoder>
+       </appender>
+
+       <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+               <queueSize>256</queueSize>
+               <appender-ref ref="EELFMetrics" />
+       </appender>
+
+       <appender name="EELFDebug"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <file>
+                       ${logDirectory}/${debugLogName}.log
+               </file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip
+                       </fileNamePattern>
+                       <maxHistory>60</maxHistory>
+               </rollingPolicy>
+               <encoder>
+                       <pattern>${errorLogPattern}</pattern>
+               </encoder>
+       </appender>
+
+       <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+               <!-- allow only events with a level below INFO, that is TRACE and DEBUG -->
+               <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+                       <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator">
+                               <expression>
+                                       e.level.toInt() &lt; INFO.toInt()
+                               </expression>
+                       </evaluator>
+                       <OnMismatch>DENY</OnMismatch>
+                       <OnMatch>NEUTRAL</OnMatch>
+               </filter>
+               <queueSize>256</queueSize>
+               <appender-ref ref="EELFDebug" />
+               <includeCallerData>false</includeCallerData>
+       </appender>
+  
+       <!-- ============================================================================ -->
+       <!-- Default / root appenders -->
+       <!-- This determines the logging level for 3rd party code -->
+       <!-- ============================================================================ -->
+
+       <root level="INFO">
+               <appender-ref ref="asyncEELF" />
+               <appender-ref ref="asyncEELFDebug" />
+       </root>
+
+  <!-- ============================================================================ -->
+  <!--  EELF loggers -->
+  <!-- ============================================================================ -->
+
+       <logger name="com.att.eelf" level="INFO" additivity="false">
+               <appender-ref ref="asyncEELF" />
+       </logger>
+
+    <!-- The level of this logger determines the contents of the debug log -->
+       <logger name="com.att.eelf.debug" level="INFO" additivity="false">
+               <appender-ref ref="asyncEELFDebug" />
+       </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>
+  
+       <!-- ============================================================================ -->
+       <!-- Non-EELF loggers -->
+       <!-- ============================================================================ -->
+
+       <!-- ATT packages including DMAAP message routing -->
+       <logger name="com.att" level="INFO" />
+
+  <!-- Spring related loggers -->
+       <logger name="org.springframework" level="WARN" />
+       <logger name="org.springframework.beans" level="WARN" />
+       <logger name="org.springframework.web" level="WARN" />
+
+  <!-- Other Loggers that may help troubleshoot -->
+       <logger name="org.apache" level="WARN" />
+       <logger name="org.apache.commons" level="WARN" />
+
+       <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. May aid in troubleshooting) -->
+       <logger name="org.apache.camel" level="WARN" />
+       <logger name="org.apache.cxf" level="WARN" />
+       <logger name="org.apache.camel.processor.interceptor" level="WARN" />
+       <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
+       <logger name="org.apache.cxf.service" level="WARN" />
+       <logger name="org.restlet" level="WARN" />
+       <logger name="org.apache.camel.component.restlet" level="WARN" />
+
+  <!-- logback internals logging -->
+       <logger name="ch.qos.logback.classic" level="WARN" />
+       <logger name="ch.qos.logback.core" level="WARN" />
+
+</configuration>