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>