Fix log location
[clamp.git] / src / main / resources / logback.xml
index 05149dc..22206fe 100644 (file)
-<configuration scan="true" scanPeriod="3 seconds" debug="false">
+<configuration scan="true" scanPeriod="10 seconds" debug="false">
+               <jmxConfigurator />
+               <property resource="application.properties" />
+               <property name="logDirectory" value="${clamp.config.log.path}" />
+               <!-- Example evaluator filter applied against console appender -->
+               <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+                               <!-- filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> 
+                                               <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter -->
+                               <!-- 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>
+                               <encoder>
+                                               <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
+                                               </pattern>
+                               </encoder>
+               </appender>
 
-    <statusListener class="ch.qos.logback.core.status.NopStatusListener"/>
+               <appender name="ERROR"
+                               class="ch.qos.logback.core.rolling.RollingFileAppender">
+                               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+                                               <level>INFO</level>
+                               </filter>
+                               <file>${logDirectory}/clamp/error.log</file>
+                               <append>true</append>
+                               <encoder>
+                                               <pattern>%date{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX", UTC}|%X{RequestId}|%.20thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDescription}|%msg%n</pattern>
+                               </encoder>
+                               <rollingPolicy
+                                               class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+                                               <maxIndex>10</maxIndex>
+                                               <FileNamePattern>${logDirectory}/clamp/error.%i.log.zip
+                                               </FileNamePattern>
+                               </rollingPolicy>
+                               <triggeringPolicy
+                                               class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                                               <maxFileSize>10MB</maxFileSize>
+                               </triggeringPolicy>
+               </appender>
 
-    <property resource="application.properties"/>
+               <appender name="DEBUG"
+                               class="ch.qos.logback.core.rolling.RollingFileAppender">
+                               <file>${logDirectory}/clamp/debug.log</file>
+                               <append>true</append>
+                               <encoder>
+                                               <pattern>%date{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX",UTC}|%X{RequestId}|%.20thread|%.-5level|%logger{36}|%msg%n</pattern>
+                               </encoder>
+                               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                                       <fileNamePattern>${logDirectory}/clamp/debug.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
+                                       <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                                               <maxFileSize>10MB</maxFileSize>
+                                       </timeBasedFileNamingAndTriggeringPolicy>
+                                       <maxHistory>5</maxHistory>
+                               </rollingPolicy>
+               </appender>
 
-    <property name="defaultPattern"
-              value="%d{yyyy-MM-dd HH:mm:ss.SSS} $ threadId: {PID:- } %-5level  namespace:${namespace} %logger{20} [ hostname: %X{hostname} serviceName: %X{serviceName} version: %X{version} transactionId: %X{transactionId} requestTimeStamp: %X{requestTimestamp}  responseTimeStamp: %X{responseTimestamp} duration: %X{duration}] %m%n"/>
+               <appender name="AUDIT"
+                               class="ch.qos.logback.core.rolling.RollingFileAppender">
+                               <file>${logDirectory}/clamp/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}/clamp/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="FILE" class="ch.qos.logback.core.FileAppender">
-        <file>root.log</file>
-        <append>false</append>
-        <encoder>
-            <pattern>${defaultPattern}</pattern>
-        </encoder>
-    </appender>
+               <appender name="METRIC"
+                               class="ch.qos.logback.core.rolling.RollingFileAppender">
+                               <file>${logDirectory}/clamp/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}/clamp/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>
 
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>${defaultPattern}</pattern>
-        </encoder>
-    </appender>
+               <!-- SECURITY related loggers -->
+               <appender name="SECURITY"
+                               class="ch.qos.logback.core.rolling.RollingFileAppender">
+                               <file>${logDirectory}/clamp/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}/clamp/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>
 
-    <root level="INFO">
-        <appender-ref ref="STDOUT"/>
-        <appender-ref ref="FILE"/>
-    </root>
+               <!-- 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>
 
-</configuration>
+
+               <!-- Spring related loggers -->
+               <logger name="org.springframework" level="WARN" />
+               <logger name="org.springframework.beans" level="WARN" />
+               <logger name="org.springframework.web" level="WARN" />
+               <logger name="com.blog.spring.jms" level="WARN" />
+
+               <!-- Other Loggers that may help troubleshoot -->
+               <logger name="net.sf" level="WARN" />
+               <logger name="org.apache.commons.httpclient" level="WARN" />
+               <logger name="org.apache.commons" level="WARN" />
+               <logger name="org.apache.coyote" level="WARN" />
+               <logger name="org.apache.jasper" 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="DEBUG" />
+               <logger name="org.apache.camel.component.restlet" 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 -->
+               <!-- 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="WARN">
+                               <appender-ref ref="DEBUG" />
+                               <appender-ref ref="STDOUT" />
+               </root>
+
+</configuration>
\ No newline at end of file