[DMAAP-48] Initial code import
[dmaap/datarouter.git] / datarouter-prov / src / main / resources / logback.xml
diff --git a/datarouter-prov/src/main/resources/logback.xml b/datarouter-prov/src/main/resources/logback.xml
new file mode 100644 (file)
index 0000000..7d73e0d
--- /dev/null
@@ -0,0 +1,405 @@
+<!--\r
+  ============LICENSE_START==================================================\r
+  * org.onap.dmaap\r
+  * ===========================================================================\r
+  * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\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
+  * ============LICENSE_END====================================================\r
+  *\r
+  * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
+  *\r
+-->\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+  <!--<jmxConfigurator /> -->\r
+  <!-- directory path for all other type logs -->\r
+  <!-- property name="logDir" value="/home/eby/dr2/logs" / -->\r
+  <property name="logDir" value="/opt/app/datartr/logs" />\r
\r
+  <!-- directory path for debugging type logs -->\r
+  <!-- property name="debugDir" value="/home/eby/dr2/debug-logs" /-->\r
+  \r
+  <!--  specify the component name \r
+    <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC"  -->\r
+  <!-- This creates the MSO directory in in the LogDir which is not needed, mentioned last directory of the path-->\r
+  <!-- property name="componentName" value="logs"></property -->\r
+  \r
+  <!--  log file names -->\r
+  <property name="generalLogName" value="apicalls" />\r
+  <!-- name="securityLogName" value="security" -->\r
+  <!-- name="performanceLogName" value="performance" -->\r
+  <!-- name="serverLogName" value="server" -->\r
+  <!-- name="policyLogName" value="policy"-->\r
+  <property name="errorLogName" value="errors" />\r
+  <!-- name="metricsLogName" value="metrics" -->\r
+  <!-- name="auditLogName" value="audit" -->\r
+  <!-- name="debugLogName" value="debug" -->\r
+  <property name="jettyLogName" value="jetty"></property> \r
+  <property name="defaultPattern"    value="%d{MM/dd-HH:mm:ss.SSS}|%logger|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%msg%n" />\r
+  <property name="jettyLoggerPattern" value="%d{MM/dd-HH:mm:ss.SSS}|%logger|%thread|%.-5level|%msg%n" />\r
+  \r
+  <property name="debugLoggerPattern" value="%d{MM/dd-HH:mm:ss.SSS}|%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
+  <property name="logDirectory" value="${logDir}" />\r
+  <!-- property name="debugLogDirectory" value="${debugDir}/${componentName}" /-->\r
+  \r
+  \r
+  <!-- Example evaluator filter applied against console appender -->\r
+  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">\r
+    <encoder>\r
+      <pattern>${defaultPattern}</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
+     <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
+               <level>INFO</level>\r
+               <onMatch>ACCEPT</onMatch>\r
+               <onMismatch>DENY</onMismatch>\r
+       </filter>\r
+    <rollingPolicy\r
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+      <fileNamePattern>${logDirectory}/${generalLogName}.%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="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">\r
+    <queueSize>256</queueSize>\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"\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
+  <!--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
+  <!--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
+  \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"\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
+  \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
+    \r
+  <!--appender name="EELFAudit"\r
+    class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+    <file>${logDirectory}/${auditLogName}.log</file>\r
+    <rollingPolicy\r
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+      <fileNamePattern>${logDirectory}/${auditLogName}.%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="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\r
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+      <fileNamePattern>${logDirectory}/${metricsLogName}.%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>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - \r
+        %msg%n"</pattern> -->\r
+      <!--pattern>${defaultPattern}</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
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
+               <level>ERROR</level>\r
+               <onMatch>ACCEPT</onMatch>\r
+               <onMismatch>DENY</onMismatch>\r
+       </filter>\r
+    <rollingPolicy\r
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+      <fileNamePattern>${logDirectory}/${errorLogName}.%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="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+    <queueSize>256</queueSize>\r
+    <appender-ref ref="EELFError"/>\r
+  </appender>\r
+  \r
+  <!-- ============================================================================ -->\r
+   <appender name="jettylog"\r
+    class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+    <file>${logDirectory}/${jettyLogName}.log</file>\r
+        <filter class="com.att.research.datarouter.provisioning.eelf.JettyFilter" />\r
+    <rollingPolicy\r
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+      <fileNamePattern>${logDirectory}/${jettyLogName}.%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>${jettyLoggerPattern}</pattern>\r
+    </encoder>\r
+  </appender>\r
+  \r
+  <appender name="asyncEELFjettylog" class="ch.qos.logback.classic.AsyncAppender">\r
+    <queueSize>256</queueSize>\r
+    <appender-ref ref="jettylog" />\r
+    <includeCallerData>true</includeCallerData>\r
+  </appender>\r
+  \r
+   <!-- ============================================================================ -->\r
+\r
+\r
+   <!--appender name="EELFDebug"\r
+    class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+    <file>${debugLogDirectory}/${debugLogName}.log</file>\r
+    <rollingPolicy\r
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+      <fileNamePattern>${debugLogDirectory}/${debugLogName}.%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>${debugLoggerPattern}</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.error" level="error" additivity="false">\r
+                <appender-ref ref="asyncEELFError" />\r
+        </logger>\r
+  \r
+     <logger name="log4j.logger.org.eclipse.jetty" additivity="false" level="info">\r
+               <appender-ref ref="asyncEELFjettylog"/>\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
+  \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.debug" level="debug" additivity="false">\r
+        <appender-ref ref="asyncEELFDebug" />\r
+  </logger-->\r
+\r
+  \r
+\r
+  \r
+  <root level="INFO">\r
+    <appender-ref ref="asyncEELF" />\r
+    <appender-ref ref="asyncEELFError" />\r
+     <appender-ref ref="asyncEELFjettylog" />\r
+  </root>\r
+\r
+</configuration>\r