log4jconfig.xml

[engineDir]/configuration/log4jconfig.xml

  1<?xml version="1.0" encoding="UTF-8"?>
  2<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
  3<!--
  4  ===========================================
  5  Axon.ivy Logging Configuration
  6  ===========================================
  7
  8  This is the logging configuration file for Axon.ivy Engine.
  9  It defines which log messages are logged (category/priority) and where the logs are written to. 
 10   
 11  Logging in Axon.ivy Engine is based on a 3rd party library called Log4J.
 12  http://logging.apache.org/log4j
 13
 14-->
 15<log4j:configuration debug="false" xmlns:log4j="http://jakarta.apache.org/log4j/">
 16
 17  <!-- ====================   Appenders   ==================== -->
 18
 19  <!-- appender that writes log messages with priority WARN or higher to 'logs/ivy.log' -->
 20  <appender name="FileLog" class="org.apache.log4j.DailyRollingFileAppender">
 21    <param name="Threshold" value="WARN"/>
 22    <param name="File" value="${user.dir}/logs/ivy.log"/>
 23    <param name="DatePattern" value="'.'yyyy-MM-dd"/>
 24    <layout class="ch.ivyteam.log.layout.IvyLog4jLayout">
 25      <param name="DateFormat" value="yyyy-MM-dd HH:mm:ss.SSS"/>
 26    </layout>
 27  </appender>
 28
 29  <!-- appender that writes log messages with priority WARN or higher to the console -->
 30  <appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender">
 31    <param name="Threshold" value="WARN"/>
 32    <layout class="ch.ivyteam.log.layout.IvyLog4jLayout">
 33      <param name="DateFormat" value="HH:mm:ss.SSS"/>
 34      <param name="ContextPrinting" value="false"/>
 35      <param name="FixedCategoryLength" value="40"/>
 36    </layout>
 37  </appender>
 38
 39  <!-- appender that writes configuration changes to 'logs/config.log' -->
 40  <appender name="ConfigLog" class="org.apache.log4j.DailyRollingFileAppender">
 41    <param name="File" value="${user.dir}/logs/config.log"/>
 42    <param name="DatePattern" value="'.'yyyy-MM-dd"/>
 43    <layout class="ch.ivyteam.log.layout.IvyLog4jLayout">
 44      <param name="DateFormat" value="yyyy-MM-dd HH:mm:ss.SSS"/>
 45      <param name="ContextPrinting" value="false"/>
 46    </layout>
 47  </appender>
 48  
 49  <!-- appender that writes log messages to 'logs/runtime.log' -->
 50  <appender name="RuntimeLog" class="org.apache.log4j.DailyRollingFileAppender">
 51    <param name="File" value="${user.dir}/logs/runtime.log"/>
 52    <param name="DatePattern" value="'.'yyyy-MM-dd"/>
 53    <layout class="ch.ivyteam.log.layout.IvyLog4jLayout">
 54      <param name="DateFormat" value="yyyy-MM-dd HH:mm:ss.SSS"/>
 55    </layout>
 56  </appender>
 57
 58  <!-- appender that writes deprecated API call messages to 'logs/deprecation.log' -->
 59  <appender name="DeprecationLog" class="org.apache.log4j.DailyRollingFileAppender">
 60    <param name="File" value="${user.dir}/logs/deprecation.log"/>
 61    <param name="DatePattern" value="'.'yyyy-MM-dd"/>
 62    <layout class="ch.ivyteam.log.layout.IvyLog4jLayout">
 63      <param name="DateFormat" value="yyyy-MM-dd HH:mm:ss.SSS"/>
 64    </layout>
 65  </appender>
 66
 67  <!-- appender that writes external security system synchronization messages to 'logs/synchronization.log' -->
 68  <appender name="SynchronizationLog" class="org.apache.log4j.DailyRollingFileAppender">
 69    <param name="File" value="${user.dir}/logs/usersynch.log"/>
 70    <param name="DatePattern" value="'.'yyyy-MM-dd"/>
 71    <layout class="ch.ivyteam.log.layout.IvyLog4jLayout">
 72      <param name="DateFormat" value="yyyy-MM-dd HH:mm:ss.SSS"/>
 73    </layout>
 74  </appender>
 75  
 76  <!-- ====================   Configuration Change Messages   ==================== -->
 77
 78  <!--
 79    Config Monitoring: Writes an audit log that allows to track configuration changes over time.
 80    These logs are not passed to the root logger (additivity="false")
 81  -->
 82  <logger name="ch.ivyteam.ivy.audit.config" additivity="false">
 83    <level value="INFO"/>
 84    <appender-ref ref="ConfigLog"/>
 85  </logger>
 86
 87  <!-- ====================   Deprecated API Call Messages   ==================== -->
 88
 89  <!--
 90    Deprecated API Calls Monitoring: Writes a log tracking calls to deprecated APIs.
 91    These logs are not passed to the root logger (additivity="false")
 92  -->
 93  <category name="ch.ivyteam.ivy.deprecation" class="ch.ivyteam.log.Logger" additivity="false">
 94    <priority value="WARN"/>
 95    <appender-ref ref="DeprecationLog"/>
 96  </category>
 97  
 98
 99  <!-- ====================   Unwanted Log Messages   ==================== -->
100
101  <!-- prevent "ClientAbortException: java.io.IOException: Broken pipe" from filling the log -->
102  <category name="org.apache.myfaces.application.ResourceHandlerImpl" class="ch.ivyteam.log.Logger">
103    <priority value="FATAL"/>
104  </category>
105
106
107  <!-- ====================   Deprecation Messages   ==================== -->
108
109  <!-- disable deprecated integer API warnings -->
110  <!--
111  <category name="ch.ivyteam.ivy.persistence.restricted.TableKeyCompatibilityConvertor" class="ch.ivyteam.log.Logger">
112    <priority value="ERROR"/>
113  </category>
114  -->
115
116  <!-- ====================   SOAP And REST Communication Messages   ==================== -->
117
118  <!-- 
119    Enables web service client SOAP message logging for a certain application and process model.
120    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. 
121  -->
122  <!-- 
123  <category name="runtimelog.{application}.{process_model}.web_service" class="ch.ivyteam.log.Logger" additivity="false">
124    <priority value="DEBUG"/>
125    <appender-ref ref="RuntimeLog"/>
126  </category>
127  -->
128
129  <!-- 
130    Enables Rest client message logging for a certain application and process model.
131    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. 
132  -->
133  <!-- 
134  <category name="runtimelog.{application}.{process_model}.rest_client" class="ch.ivyteam.log.Logger" additivity="false">
135    <priority value="DEBUG"/>
136    <appender-ref ref="RuntimeLog"/>
137  </category>
138  -->
139
140  <!-- ====================   User Synchronization Messages   ==================== -->
141
142  <!-- 
143    Enables a detailed log about user synchronization with external security systems. 
144    Containing messages about users which are analyzed, imported, updated, deleted, etc.     
145  -->
146  <category name="ch.ivyteam.ivy.security.user.synch" class="ch.ivyteam.log.Logger" additivity="false">
147    <priority value="INFO"/>
148    <appender-ref ref="SynchronizationLog"/>
149  </category>
150
151  <!-- 
152    Enables a detailed high level log of LDAP API calls to external security systems during user synchronization.      
153  -->
154  <!-- 
155  <category name="ch.ivyteam.ivy.security.ldap.api" class="ch.ivyteam.log.Logger" additivity="false">
156    <priority value="DEBUG"/>
157    <appender-ref ref="SynchronizationLog"/>
158  </category>
159  -->
160  
161  <!-- 
162    Enables a detailed binary low level log of the LDAP protocol messages that are sent and received from external security systems
163    during user synchronization.      
164  -->
165  <!-- 
166  <category name="ch.ivyteam.ivy.security.ldap.wire" class="ch.ivyteam.log.Logger" additivity="false">
167    <priority value="DEBUG"/>
168    <appender-ref ref="SynchronizationLog"/>
169  </category>
170  -->
171
172  <!-- ====================   Root (Default) Logger   ==================== -->
173
174  <!-- every log message with priority INFO or higher is passed to the file and console appender -->
175  <root>
176    <level value ="WARN" />
177    <appender-ref ref="FileLog"/>
178    <appender-ref ref="ConsoleAppender"/>
179  </root>
180  
181</log4j:configuration>