aboutsummaryrefslogtreecommitdiffstats
path: root/reference/logging-demo/src/main/resources/logback.xml
blob: eddb4a8e85c33b850c4006c1dfd22ed97bc406b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<configuration scan="false" debug="true">
    <property name="p_tim" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}"/>
    <property name="p_lvl" value="%level"/>
    <property name="p_log" value="%logger"/>
    <property name="p_mdc" value="%replace(%replace(%mdc){'\t','\\\\t'}){'\n', '\\\\n'}"/>
    <property name="p_msg" value="%replace(%replace(%msg){'\t', '\\\\t'}){'\n','\\\\n'}"/>
    <property name="p_exc" value="%replace(%replace(%rootException){'\t', '\\\\t'}){'\n','\\\\n'}"/>
    <property name="p_mak" value="%replace(%replace(%marker){'\t', '\\\\t'}){'\n','\\\\n'}"/>
    <property name="p_thr" value="%thread"/>
    <property name="pattern" value="%nopexception${p_tim}\t${p_thr}\t${p_lvl}\t${p_log}\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n"/>

  <property name="logDir" value="/var/log/onap" />
  <property name="debugDir" value="/var/log/onap" />

  <property name="componentName" value="logdemonode"></property>
  <property name="subComponentName" value="node"></property>

  <property name="errorLogName" value="error" />
  <property name="metricsLogName" value="metrics" />
  <property name="auditLogName" value="audit" />
  <property name="debugLogName" value="debug" />

  <property name="errorPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDesc}|%msg%n\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n" />
  <property name="debugPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%msg%n\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n" />

  <property name="auditPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||||||%msg%n" />
  <property name="metricPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|||||%msg%n" />
  <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
  <property name="debugLogDirectory" value="${debugDir}/${componentName}/${subComponentName}" />

  <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}.log.%d</fileNamePattern>
    </rollingPolicy>
    <encoder>
      <pattern>${auditPattern}</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}.log.%d</fileNamePattern>
    </rollingPolicy>
    <encoder>
      <pattern>${metricPattern}</pattern>
    </encoder>
  </appender>

  <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
    <queueSize>256</queueSize>
    <appender-ref ref="EELFMetrics"/>
  </appender>

  <appender name="EELFError"
            class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${logDirectory}/${errorLogName}.log</file>
    <rollingPolicy
            class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>${logDirectory}/${errorLogName}.log.%d</fileNamePattern>
    </rollingPolicy>
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
      <level>INFO</level>
    </filter>
    <encoder>
      <pattern>${errorPattern}</pattern>
    </encoder>
  </appender>

  <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
    <queueSize>256</queueSize>
    <appender-ref ref="EELFError"/>
  </appender>

  <appender name="EELFDebug"
            class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${debugLogDirectory}/${debugLogName}.log</file>
    <rollingPolicy
            class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>${debugLogDirectory}/${debugLogName}.log.%d</fileNamePattern>
    </rollingPolicy>
    <encoder>
      <pattern>${debugPattern}</pattern>
    </encoder>
  </appender>

  <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
    <queueSize>256</queueSize>
    <appender-ref ref="EELFDebug" />
    <includeCallerData>true</includeCallerData>
  </appender>

  <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>

  <logger name="com.att.eelf.error" level="debug" additivity="false">
    <appender-ref ref="asyncEELFError" />
  </logger>
  
  <root level="INFO">
    <appender-ref ref="asyncEELFDebug" />
  </root>

</configuration>