log4jconfig.xmlΒΆ

[engineDir]/configuration/log4jconfig.xml

  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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<!--
  ===========================================
  Axon.ivy Logging Configuration
  ===========================================

  This is the logging configuration file for Axon.ivy Engine.
  It defines which log messages are logged (category/priority) and where the logs are written to. 
   
  Logging in Axon.ivy Engine is based on a 3rd party library called Log4J.
  http://logging.apache.org/log4j

-->
<log4j:configuration debug="false" xmlns:log4j="http://jakarta.apache.org/log4j/">

  <!-- ====================   Appenders   ==================== -->

  <!-- appender that writes log messages with priority WARN or higher to 'logs/ivy.log' -->
  <appender name="FileLog" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="Threshold" value="WARN"/>
    <param name="File" value="${user.dir}/logs/ivy.log"/>
    <param name="DatePattern" value="'.'yyyy-MM-dd"/>
    <layout class="ch.ivyteam.log.layout.IvyLog4jLayout">
      <param name="DateFormat" value="yyyy-MM-dd HH:mm:ss.SSS"/>
    </layout>
  </appender>

  <!-- appender that writes log messages with priority WARN or higher to the console -->
  <appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender">
    <param name="Threshold" value="WARN"/>
    <layout class="ch.ivyteam.log.layout.IvyLog4jLayout">
      <param name="DateFormat" value="HH:mm:ss.SSS"/>
      <param name="ContextPrinting" value="false"/>
      <param name="FixedCategoryLength" value="40"/>
    </layout>
  </appender>

  <!-- appender that writes configuration changes to 'logs/config.log' -->
  <appender name="ConfigLog" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="File" value="${user.dir}/logs/config.log"/>
    <param name="DatePattern" value="'.'yyyy-MM-dd"/>
    <layout class="ch.ivyteam.log.layout.IvyLog4jLayout">
      <param name="DateFormat" value="yyyy-MM-dd HH:mm:ss.SSS"/>
      <param name="ContextPrinting" value="false"/>
    </layout>
  </appender>
  
  <!-- appender that writes log messages to 'logs/runtime.log' -->
  <appender name="RuntimeLog" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="File" value="${user.dir}/logs/runtime.log"/>
    <param name="DatePattern" value="'.'yyyy-MM-dd"/>
    <layout class="ch.ivyteam.log.layout.IvyLog4jLayout">
      <param name="DateFormat" value="yyyy-MM-dd HH:mm:ss.SSS"/>
    </layout>
  </appender>

  <!-- appender that writes deprecated API call messages to 'logs/deprecation.log' -->
  <appender name="DeprecationLog" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="File" value="${user.dir}/logs/deprecation.log"/>
    <param name="DatePattern" value="'.'yyyy-MM-dd"/>
    <layout class="ch.ivyteam.log.layout.IvyLog4jLayout">
      <param name="DateFormat" value="yyyy-MM-dd HH:mm:ss.SSS"/>
    </layout>
  </appender>

  <!-- appender that writes performance measurements to 'logs/performance.log' -->
  <appender name="PerformanceLog" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="File" value="${user.dir}/logs/performance.log"/>
    <param name="DatePattern" value="'.'yyyy-MM-dd"/>
    <layout class="ch.ivyteam.log.layout.IvyLog4jLayout">
      <param name="DateFormat" value="yyyy-MM-dd HH:mm:ss.SSS"/>
    </layout>
  </appender>

  <!-- appender that writes external security system synchronization messages to 'logs/synchronization.log' -->
  <appender name="SynchronizationLog" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="File" value="${user.dir}/logs/usersynch.log"/>
    <param name="DatePattern" value="'.'yyyy-MM-dd"/>
    <layout class="ch.ivyteam.log.layout.IvyLog4jLayout">
      <param name="DateFormat" value="yyyy-MM-dd HH:mm:ss.SSS"/>
    </layout>
  </appender>

  <!-- ====================   Configuration Change Messages   ==================== -->

  <!--
    Config Monitoring: Writes an audit log that allows to track configuration changes over time.
    These logs are not passed to the root logger (additivity="false")
  -->
  <logger name="ch.ivyteam.ivy.audit.config" additivity="false">
    <level value="INFO"/>
    <appender-ref ref="ConfigLog"/>
  </logger>

  <!-- ====================   Deprecated API Call Messages   ==================== -->

  <!--
    Deprecated API Calls Monitoring: Writes a log tracking calls to deprecated APIs.
    These logs are not passed to the root logger (additivity="false")
  -->
  <category name="ch.ivyteam.ivy.deprecation" class="ch.ivyteam.log.Logger" additivity="false">
    <priority value="WARN"/>
    <appender-ref ref="DeprecationLog"/>
  </category>

  <!-- ====================   Performance Measurements   ==================== -->

  <!--
    Performance Measurements: Writes the duration for different potential time consuming operations.
    These logs are not passed to the root logger (additivity="false")
  -->
  <category name="ch.ivyteam.ivy.performance" class="ch.ivyteam.log.Logger" additivity="false">
    <priority value="WARN"/>
    <appender-ref ref="PerformanceLog"/>
  </category>

  <!--
  <category name="ch.ivyteam.ivy.performance.classgraph" class="ch.ivyteam.log.Logger" additivity="false">
    <priority value="DEBUG"/>
    <appender-ref ref="PerformanceLog"/>
  </category>
  -->

  <!-- ====================   Unwanted Log Messages   ==================== -->

  <!-- prevent "ClientAbortException: java.io.IOException: Broken pipe" from filling the log -->
  <category name="org.apache.myfaces.application.ResourceHandlerImpl" class="ch.ivyteam.log.Logger">
    <priority value="FATAL"/>
  </category>


  <!-- ====================   Deprecation Messages   ==================== -->

  <!-- disable deprecated integer API warnings -->
  <!--
  <category name="ch.ivyteam.ivy.persistence.restricted.TableKeyCompatibilityConvertor" class="ch.ivyteam.log.Logger">
    <priority value="ERROR"/>
  </category>
  -->

  <!-- ====================   SOAP And REST Communication Messages   ==================== -->

  <!-- 
    Enables web service client SOAP message logging for a certain application and process model.
    Replace {application} and {process_model} in the logger name below with the name of the application and process model you want to enable the logging. 
  -->
  <!-- 
  <category name="runtimelog.{application}.{process_model}.web_service" class="ch.ivyteam.log.Logger" additivity="false">
    <priority value="DEBUG"/>
    <appender-ref ref="RuntimeLog"/>
  </category>
  -->

  <!-- 
    Enables Rest client message logging for a certain application and process model.
    Replace {application} and {process_model} in the logger name below with the name of the application and process model you want to enable the logging. 
  -->
  <!-- 
  <category name="runtimelog.{application}.{process_model}.rest_client" class="ch.ivyteam.log.Logger" additivity="false">
    <priority value="DEBUG"/>
    <appender-ref ref="RuntimeLog"/>
  </category>
  -->

  <!-- ====================   User Synchronization Messages   ==================== -->

  <!-- 
    Enables a detailed log about user synchronization with external security systems. 
    Containing messages about users which are analyzed, imported, updated, deleted, etc.     
  -->
  <category name="ch.ivyteam.ivy.security.user.synch" class="ch.ivyteam.log.Logger" additivity="false">
    <priority value="INFO"/>
    <appender-ref ref="SynchronizationLog"/>
  </category>

  <!-- 
    Enables a detailed high level log of LDAP API calls to external security systems during user synchronization.      
  -->
  <!-- 
  <category name="ch.ivyteam.ivy.security.ldap.api" class="ch.ivyteam.log.Logger" additivity="false">
    <priority value="DEBUG"/>
    <appender-ref ref="SynchronizationLog"/>
  </category>
  -->
  
  <!-- 
    Enables a detailed binary low level log of the LDAP protocol messages that are sent and received from external security systems
    during user synchronization.      
  -->
  <!-- 
  <category name="ch.ivyteam.ivy.security.ldap.wire" class="ch.ivyteam.log.Logger" additivity="false">
    <priority value="DEBUG"/>
    <appender-ref ref="SynchronizationLog"/>
  </category>
  -->

  <!-- ====================   Root (Default) Logger   ==================== -->

  <!-- every log message with priority INFO or higher is passed to the file and console appender -->
  <root>
    <level value ="WARN" />
    <appender-ref ref="FileLog"/>
    <appender-ref ref="ConsoleAppender"/>
  </root>
  
</log4j:configuration>