summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVidya Shinde <vidya.shinde@amdocs.com>2017-08-11 16:28:12 +0530
committerVidya Shinde <vidya.shinde@amdocs.com>2017-08-11 16:28:12 +0530
commit5a0d594dd5eef5026ff7a3b854b68ec2858f9da5 (patch)
tree898d1868d801ef4487bcef407bfba26eb40b706e
parentf54e335ef68b28e087fb8625098fc49bd285b4d4 (diff)
[LOG] Add canonicalization for AAI logs
Canonicalization of path for log provider configuration file and log files Change-Id: I9ed5e2d66adbf30879dfe44445fd1e7d7820bdcb Issue-ID: LOG-25 Signed-off-by: Vidya Shinde <vidya.shinde@amdocs.com>
-rw-r--r--onap/aai/README.md44
-rw-r--r--onap/aai/ajsc-aai/conf/logback.xml296
-rw-r--r--onap/aai/model-loader/conf/logback.xml164
3 files changed, 504 insertions, 0 deletions
diff --git a/onap/aai/README.md b/onap/aai/README.md
new file mode 100644
index 0000000..a930eb9
--- /dev/null
+++ b/onap/aai/README.md
@@ -0,0 +1,44 @@
+####################################################################################################################################################################
+## AAI Logging Configuration
+====================================================================================================================================================================
+AAI has two docker containers- aai-service, hbase-1.2.3 and model-loader-service.
+Each container has its own logback.xml
+Canonical logs will be generated at /var/log/onap/aai/
+====================================================================================================================================================================
+## Instructions for deployment
+====================================================================================================================================================================
+### AAI logging deployment for aai-service
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ 1. Log provider file is available at the path, /etc/onap/aai/conf.d/, on the host VM.
+ 2. Copy the canonical ‘logback.xml’ from 'aai' directory (of gerrit) into the path created in step 1.
+ 3. Give the read access to 'others' for the file, /etc/onap/aai/conf.d/logback.xml.
+ This will give access to the 'aaiadmin' user used by the AAI container to read this file.
+ 4. Create the canonical path for logs, /var/log/onap/aai, on the host VM.
+ 5. Provide write permissions for "others" users for directory created in step 4.
+ 6. Volume-Mount: The aai container requires two host paths mapped as volume in the container
+
+ 6.1. Log file path:
+ Host path - /var/log/onap/aai/ mapped to
+ Container path - /var/log/onap/aai/
+ 6.2. Log provider file path:
+ Host Path : /etc/onap/aai/conf.d/logback.xml mapped to
+ Container path : /opt/app/aai/bundleconfig/etc/logback.xml
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------
+### AAI logging deployment for Model-Loader
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ 1. Log provider file is available at the path, /opt/jetty/jetty*/webapps/model-loader/WEB-INF/classes/, in the container.
+ Note: Inside model-loader docker image. (jetty* refers to the particular version being used.
+ In release-1.0 environment, the name is '/jetty-distribution-9.3.9.v20160517')
+ 2. Copy the canonical ‘logback.xml’ from 'aai' directory (of gerrit) into the path created in step 1.
+ 3. Give the read access to 'others' for the file, /etc/onap/aai/conf.d/logback.xml.
+ This will give access to the 'aaiadmin' user used by the AAI container to read this file.
+ 4. Create the canonical path for logs, /var/log/onap/aai/aai-ml, on the host VM.
+ 5. Provide write permissions for "others" users for directory created in step 4.
+ 6. Volume-Mount: The aai container requires one host path mapped as volume in the container
+
+ 6.1. Log file path:
+ Host path - /var/log/onap/aai/aai-ml mapped to
+ Container path - /var/log/onap/aai/aai-ml
+ 6.2. Log provider file path:
+ Note: Log provider path cannot be configured externally as it is bundled inside a WAR.
+####################################################################################################################################################################
diff --git a/onap/aai/ajsc-aai/conf/logback.xml b/onap/aai/ajsc-aai/conf/logback.xml
new file mode 100644
index 0000000..2a69372
--- /dev/null
+++ b/onap/aai/ajsc-aai/conf/logback.xml
@@ -0,0 +1,296 @@
+<configuration debug="false" scan="true" scanPeriod="60 seconds">
+ <contextName>${module.ajsc.namespace.name}</contextName>
+ <jmxConfigurator />
+ <property name="logDir" value="/var/log/onap" />
+ <property name="componentName" value="aai"></property>
+ <property name="restLogDirectory" value="${logDir}/${componentName}/rest" />
+ <property name="dmaapLogDirectory" value="${logDir}/${componentName}/dmaapAAIWorkloadConsumer" />
+ <property name="perfLogsDirectory" value="${logDir}/${componentName}/perf-audit" />
+ <property name="pattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, 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" />
+ <!-- log file names -->
+ <property name="errorLogName" value="error" />
+ <property name="metricsLogName" value="metrics" />
+ <property name="auditLogName" value="audit" />
+ <property name="debugLogName" value="debug" />
+ <property name="queueSize" value="256" />
+ <property name="maxFileSize" value="50MB" />
+ <property name="maxHistory" value="30" />
+ <property name="totalSizeCap" value="10GB" />
+ <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>ERROR</level>
+ <onMatch>ACCEPT</onMatch>
+ <onMismatch>DENY</onMismatch>
+ </filter>
+ <encoder>
+ <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n</pattern>
+ </encoder>
+ </appender>
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="METRIC">
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>INFO</level>
+ <onMatch>ACCEPT</onMatch>
+ <onMismatch>DENY</onMismatch>
+ </filter>
+ <file>${restLogDirectory}/${metricsLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${restLogDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+ <maxFileSize>${maxFileSize}</maxFileSize>
+ </timeBasedFileNamingAndTriggeringPolicy>
+ <maxHistory>${maxHistory}</maxHistory>
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncMETRIC">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="METRIC" />
+ </appender>
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="DEBUG">
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>DEBUG</level>
+ <onMatch>ACCEPT</onMatch>
+ <onMismatch>DENY</onMismatch>
+ </filter>
+ <file>${restLogDirectory}/${debugLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${restLogDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+ <maxFileSize>${maxFileSize}</maxFileSize>
+ </timeBasedFileNamingAndTriggeringPolicy>
+ <maxHistory>${maxHistory}</maxHistory>
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncDEBUG">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="DEBUG" />
+ </appender>
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ERROR">
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>WARN</level>
+ </filter>
+ <file>${restLogDirectory}/${errorLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${restLogDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+ <maxFileSize>${maxFileSize}</maxFileSize>
+ </timeBasedFileNamingAndTriggeringPolicy>
+ <maxHistory>${maxHistory}</maxHistory>
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncERROR">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="ERROR" />
+ </appender>
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="AUDIT">
+ <file>${restLogDirectory}/${auditLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${restLogDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+ <maxFileSize>${maxFileSize}</maxFileSize>
+ </timeBasedFileNamingAndTriggeringPolicy>
+ <maxHistory>${maxHistory}</maxHistory>
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncAUDIT">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="AUDIT" />
+ </appender>
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="dmaapAAIWorkloadConsumer">
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>WARN</level>
+ </filter>
+ <File>${dmaapLogDirectory}/${errorLogName}.log</File>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${dmaapLogDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+ <maxFileSize>${maxFileSize}</maxFileSize>
+ </timeBasedFileNamingAndTriggeringPolicy>
+ <maxHistory>${maxHistory}</maxHistory>
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="dmaapAAIWorkloadConsumerdebug">
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>DEBUG</level>
+ <onMatch>ACCEPT</onMatch>
+ <onMismatch>DENY</onMismatch>
+ </filter>
+ <File>${dmaapLogDirectory}/${debugLogName}.log</File>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${dmaapLogDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+ <maxFileSize>${maxFileSize}</maxFileSize>
+ </timeBasedFileNamingAndTriggeringPolicy>
+ <maxHistory>${maxHistory}</maxHistory>
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="dmaapAAIWorkloadConsumermetric">
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>INFO</level>
+ <onMatch>ACCEPT</onMatch>
+ <onMismatch>DENY</onMismatch>
+ </filter>
+ <File>${dmaapLogDirectory}/${metricsLogName}.log</File>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${dmaapLogDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+ <maxFileSize>${maxFileSize}</maxFileSize>
+ </timeBasedFileNamingAndTriggeringPolicy>
+ <maxHistory>${maxHistory}</maxHistory>
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <!-- Spring related loggers -->
+ <logger level="WARN" name="org.springframework" />
+ <logger level="WARN" name="org.springframework.beans" />
+ <logger level="WARN" name="org.springframework.web" />
+ <logger level="WARN" name="com.blog.spring.jms" />
+ <!-- AJSC Services (bootstrap services) -->
+ <logger level="WARN" name="ajsc" />
+ <logger level="WARN" name="ajsc.RouteMgmtService" />
+ <logger level="WARN" name="ajsc.ComputeService" />
+ <logger level="WARN" name="ajsc.VandelayService" />
+ <logger level="WARN" name="ajsc.FilePersistenceService" />
+ <logger level="WARN" name="ajsc.UserDefinedJarService" />
+ <logger level="WARN" name="ajsc.UserDefinedBeansDefService" />
+ <logger level="WARN" name="ajsc.LoggingConfigurationService" />
+ <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet logging) -->
+ <logger level="WARN" name="ajsc.utils" />
+ <logger level="WARN" name="ajsc.utils.DME2Helper" />
+ <logger level="WARN" name="ajsc.filters" />
+ <logger level="WARN" name="ajsc.beans.interceptors" />
+ <logger level="WARN" name="ajsc.restlet" />
+ <logger level="WARN" name="ajsc.servlet" />
+ <logger level="WARN" name="com.att.ajsc" />
+ <logger level="WARN" name="com.att.ajsc.csi.logging" />
+ <logger level="WARN" name="com.att.ajsc.filemonitor" />
+ <!-- Other Loggers that may help troubleshoot -->
+ <logger level="WARN" name="net.sf" />
+ <logger level="WARN" name="org.apache.commons.httpclient" />
+ <logger level="WARN" name="org.apache.commons" />
+ <logger level="WARN" name="org.apache.coyote" />
+ <logger level="WARN" name="org.apache.jasper" />
+ <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. May aid in troubleshooting) -->
+ <logger level="WARN" name="org.apache.camel" />
+ <logger level="WARN" name="org.apache.cxf" />
+ <logger level="WARN" name="org.apache.camel.processor.interceptor" />
+ <logger level="WARN" name="org.apache.cxf.jaxrs.interceptor" />
+ <logger level="WARN" name="org.apache.cxf.service" />
+ <logger level="WARN" name="org.restlet" />
+ <logger level="WARN" name="org.apache.camel.component.restlet" />
+ <!-- logback internals logging -->
+ <logger level="WARN" name="ch.qos.logback.classic" />
+ <logger level="WARN" name="ch.qos.logback.core" />
+ <!-- logback jms appenders & loggers definition starts here -->
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="auditLogs">
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
+ <file>${perfLogsDirectory}/Audit-${lrmRVer}-${lrmRO}-${Pid}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${perfLogsDirectory}/Audit-${lrmRVer}-${lrmRO}-${Pid}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+ <maxFileSize>${maxFileSize}</maxFileSize>
+ </timeBasedFileNamingAndTriggeringPolicy>
+ <maxHistory>${maxHistory}</maxHistory>
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="perfLogs">
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
+ <file>${perfLogsDirectory}/Perform-${lrmRVer}-${lrmRO}-${Pid}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${perfLogsDirectory}/Perform-${lrmRVer}-${lrmRO}-${Pid}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+ <maxFileSize>${maxFileSize}</maxFileSize>
+ </timeBasedFileNamingAndTriggeringPolicy>
+ <maxHistory>${maxHistory}</maxHistory>
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC-audit">
+ <queueSize>1000</queueSize>
+ <discardingThreshold>0</discardingThreshold>
+ <appender-ref ref="Audit-Record-Queue" />
+ </appender>
+ <logger additivity="false" level="INFO" name="AuditRecord">
+ <appender-ref ref="ASYNC-audit" />
+ <appender-ref ref="auditLogs" />
+ </logger>
+ <logger additivity="false" level="INFO" name="AuditRecord_DirectCall">
+ <appender-ref ref="ASYNC-audit" />
+ <appender-ref ref="auditLogs" />
+ </logger>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC-perf">
+ <queueSize>1000</queueSize>
+ <discardingThreshold>0</discardingThreshold>
+ <appender-ref ref="Performance-Tracker-Queue" />
+ </appender>
+ <logger additivity="false" level="INFO" name="PerfTrackerRecord">
+ <appender-ref ref="ASYNC-perf" />
+ <appender-ref ref="perfLogs" />
+ </logger>
+ <!-- logback jms appenders & loggers definition ends here -->
+ <logger additivity="false" level="DEBUG" name="org.openecomp.aai.dmaap">
+ <appender-ref ref="dmaapAAIWorkloadConsumer" />
+ <appender-ref ref="dmaapAAIWorkloadConsumerdebug" />
+ <appender-ref ref="dmaapAAIWorkloadConsumermetric" />
+ </logger>
+ <logger additivity="false" level="INFO" name="org.openecomp.aai">
+ <appender-ref ref="asyncDEBUG" />
+ <appender-ref ref="asyncERROR" />
+ <appender-ref ref="asyncMETRIC" />
+ </logger>
+ <logger additivity="false" level="INFO" name="org.openecomp.aai.AUDITLOGGER">
+ <appender-ref ref="asyncAUDIT" />
+ </logger>
+ <logger level="WARN" name="org.apache" />
+ <logger level="WARN" name="org.zookeeper" />
+ <logger level="WARN" name="com.thinkaurelius" />
+ <!-- ============================================================================ -->
+ <!-- General EELF logger -->
+ <!-- ============================================================================ -->
+ <logger additivity="false" level="WARN" name="com.att.eelf">
+ <appender-ref ref="asyncDEBUG" />
+ <appender-ref ref="asyncERROR" />
+ <appender-ref ref="asyncMETRIC" />
+ <appender-ref ref="asyncAUDIT" />
+ </logger>
+ <root level="WARN">
+ <appender-ref ref="asyncDEBUG" />
+ <appender-ref ref="asyncERROR" />
+ <appender-ref ref="asyncMETRIC" />
+ <appender-ref ref="asyncAUDIT" />
+ </root>
+</configuration>
+
diff --git a/onap/aai/model-loader/conf/logback.xml b/onap/aai/model-loader/conf/logback.xml
new file mode 100644
index 0000000..3443688
--- /dev/null
+++ b/onap/aai/model-loader/conf/logback.xml
@@ -0,0 +1,164 @@
+<configuration debug="false" scan="true" scanPeriod="3 seconds">
+ <!--<jmxConfigurator /> -->
+ <!-- directory path for all other type logs -->
+ <property name="logDir" value="/var/log/onap" />
+ <!-- specify the component name <ECOMP-component-name>::= "MSO" | "DCAE"
+ | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC" -->
+ <property name="componentName" value="aai"></property>
+ <property name="subComponentName" value="aai-ml"></property>
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <!-- 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="queueSize" value="256" />
+ <property name="maxFileSize" value="50MB" />
+ <property name="maxHistory" value="30" />
+ <property name="totalSizeCap" value="10GB" />
+ <property name="pattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, 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" />
+ <!-- Example evaluator filter applied against console appender -->
+ <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <!-- ============================================================================ -->
+ <!-- EELF Appenders -->
+ <!-- ============================================================================ -->
+ <!-- The EELFAppender is used to record events to the general application
+ log -->
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELF">
+ <file>${logDirectory}/${generalLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+ <maxFileSize>${maxFileSize}</maxFileSize>
+ </timeBasedFileNamingAndTriggeringPolicy>
+ <maxHistory>${maxHistory}</maxHistory>
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELF">
+ <!-- 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>
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFAudit">
+ <file>${logDirectory}/${auditLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+ <maxFileSize>${maxFileSize}</maxFileSize>
+ </timeBasedFileNamingAndTriggeringPolicy>
+ <maxHistory>${maxHistory}</maxHistory>
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFAudit">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFAudit" />
+ </appender>
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFMetrics">
+ <file>${logDirectory}/${metricsLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+ <maxFileSize>${maxFileSize}</maxFileSize>
+ </timeBasedFileNamingAndTriggeringPolicy>
+ <maxHistory>${maxHistory}</maxHistory>
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFMetrics">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFMetrics" />
+ </appender>
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFDebug">
+ <file>${logDirectory}/${debugLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+ <maxFileSize>${maxFileSize}</maxFileSize>
+ </timeBasedFileNamingAndTriggeringPolicy>
+ <maxHistory>${maxHistory}</maxHistory>
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFDebug">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFDebug" />
+ <includeCallerData>true</includeCallerData>
+ </appender>
+ <!-- ============================================================================ -->
+ <!-- EELF loggers -->
+ <!-- ============================================================================ -->
+ <logger additivity="false" level="info" name="com.att.eelf">
+ <appender-ref ref="asyncEELF" />
+ <appender-ref ref="asyncEELFDebug" />
+ </logger>
+ <logger additivity="false" level="info" name="com.att.eelf.security">
+ <appender-ref ref="asyncEELFSecurity" />
+ </logger>
+ <logger additivity="false" level="info" name="com.att.eelf.perf">
+ <appender-ref ref="asyncEELFPerformance" />
+ </logger>
+ <logger additivity="false" level="info" name="com.att.eelf.server">
+ <appender-ref ref="asyncEELFServer" />
+ </logger>
+ <logger additivity="false" level="info" name="com.att.eelf.policy">
+ <appender-ref ref="asyncEELFPolicy" />
+ </logger>
+ <logger additivity="false" level="info" name="com.att.eelf.audit">
+ <appender-ref ref="asyncEELFAudit" />
+ </logger>
+ <logger additivity="false" level="info" name="com.att.eelf.metrics">
+ <appender-ref ref="asyncEELFMetrics" />
+ </logger>
+ <!-- Spring related loggers -->
+ <logger level="WARN" name="org.springframework" />
+ <logger level="WARN" name="org.springframework.beans" />
+ <logger level="WARN" name="org.springframework.web" />
+ <logger level="WARN" name="com.blog.spring.jms" />
+ <logger level="INFO" name="com.att" />
+ <!-- Model Loader loggers -->
+ <logger level="INFO" name="org.openecomp.modelloader" />
+ <!-- Other Loggers that may help troubleshoot -->
+ <logger level="WARN" name="net.sf" />
+ <logger level="WARN" name="org.apache.commons.httpclient" />
+ <logger level="WARN" name="org.apache.commons" />
+ <logger level="WARN" name="org.apache.coyote" />
+ <logger level="WARN" name="org.apache.jasper" />
+ <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.
+ May aid in troubleshooting) -->
+ <logger level="WARN" name="org.apache.camel" />
+ <logger level="WARN" name="org.apache.cxf" />
+ <logger level="WARN" name="org.apache.camel.processor.interceptor" />
+ <logger level="WARN" name="org.apache.cxf.jaxrs.interceptor" />
+ <logger level="WARN" name="org.apache.cxf.service" />
+ <logger level="WARN" name="org.restlet" />
+ <logger level="WARN" name="org.apache.camel.component.restlet" />
+ <!-- logback internals logging -->
+ <logger level="WARN" name="ch.qos.logback.classic" />
+ <logger level="WARN" name="ch.qos.logback.core" />
+ <root>
+ <appender-ref ref="asyncEELF" />
+ <!-- <appender-ref ref="asyncEELFDebug" /> -->
+ </root>
+</configuration>
+