Wiki source code of Logging

Version 8.1 by Vincent Massol on 2011/05/19

Show last authors
1 {{box cssClass="floatinginfobox" title="**Contents**"}}{{toc/}}{{/box}}
2
3 = For XWiki 3.1 and beyond =
4
5 Starting with version 3.1 XWiki logs using [[SLF4J>>http://www.slf4j.org/]]. By default XWiki is configured so that SLF4J uses [[Logback>>http://logback.qos.ch/]]. XWiki's Logback configuration is located in the ##[[WEB-INF/classes/logback.xml>>https://github.com/xwiki/xwiki-platform/raw/master/xwiki-platform-core/xwiki-platform-web/src/main/resources/logback.xml]]## file.
6
7 To customize the Logback configuration simply edit the file and restart the Servlet container for it to take effect.
8
9 {{info}}
10 By default XWiki is configured to log everything on the console only.
11 {{/info}}
12
13 == Using JMX to change the logging configuration ==
14
15 [[LogBack exposes its configuration with JMX>>http://logback.qos.ch/manual/jmxConfig.html]] and thus it's possible to use a JMX console to modify the logging configuration at runtime, thus not needing to restart the Servlet container. This is very useful in production when needing to debug an issue.
16
17 See the [[Monitoring Guide>>AdminGuide.Monitoring]] for more details on using JMX with XWiki.
18
19 = For older XWiki versions =
20
21 XWiki versions 3.0 and older use Commons Logging for logging. By default XWiki is configured so that Commons Logging uses log4J. XWiki's Log4J configuration is located inside XWiki's JAR (xwiki-core-x.y.jar), in a ##[[log4j.properties>>https://github.com/xwiki/xwiki-platform/raw/13e01088e74c170452088a56fe54fb76a7ecb041/xwiki-platform-core/xwiki-platform-oldcore/src/main/resources/log4j.properties]]## file. XWiki' JAR is itself located in your ##WEB-INF/lib/## directory.
22
23 {{info}}
24 By default XWiki is configured to log everything on the console only.
25 {{/info}}
26
27 == Using a custom Log4J configuration ==
28
29 The best solution is to create a new ##log4j.properties## file in your ##WEB-INF/classes## directory. It'll thus override the one from the XWiki JAR. As an example, here's a sample configuration:
30
31 {{code language="none"}}
32 ### Direct log messages to stdout
33 log4j.appender.stdout=org.apache.log4j.ConsoleAppender
34 log4j.appender.stdout.Target=System.out
35 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
36 log4j.appender.stdout.layout.ConversionPattern=%d [%X{url}] [%t] %-5p %-30.30c{2} %x - %m %n
37
38 ### By default everything that is of warning or severity WARN, ERROR or FATAL is logged both to
39 ### the console and to the xwiki.log file.
40 log4j.rootLogger=warn, stdout
41
42 ### Hibernate logging options
43 log4j.logger.org.hibernate=warn
44 log4j.logger.org.hibernate.SQL=warn
45 log4j.logger.org.hibernate.type=warn
46 log4j.logger.org.hibernate.ps.PreparedStatementCache=warn
47
48 ### XWiki logging configuration
49 log4j.logger.org.xwiki=info
50 log4j.logger.com.xpn.xwiki=warn
51 log4j.logger.com.xpn.xwiki.render.XWikiRadeoxRenderEngine=warn
52 log4j.logger.com.xpn.xwiki.store.migration=info
53
54 ### Deactive Struts warnings
55 log4j.logger.org.apache.struts.util.RequestUtils=error
56
57 ### Deactivate JGroups warnings
58 log4j.logger.org.jgroups=error
59
60 ## Deactive PDF Export CSS Applier warnings
61 log4j.logger.info.informatica.doc.style.css.dom=error
62 log4j.logger.org.apache.fop.layoutmgr.inline.ContentLayoutManager=error
63 {{/code}}
64
65 Refer to Log4J's documentation to understand the settings. As an example, to turn on Hibernate's calls, just set the following:
66
67 {{code}}
68 log4j.logger.org.hibernate.SQL=debug
69 {{/code}}
70
71 = Activating the XWiki Monitoring feature =
72
73 {{info}}
74 The monitoring feature is already active in the default configuration.
75 {{/info}}
76
77 XWiki has a feature to monitor times spent in its major components. To activate it, you need to:
78
79 * Enable the Monitor plugin by adding/modifying the following plugin definition in the ##xwiki.cfg## configuration file:
80
81 {{code language="none"}}
82 xwiki.plugins=\
83 [...]
84 com.xpn.xwiki.monitor.api.MonitorPlugin
85 {{/code}}
86
87 * Enable it by adding/modifying the following in the ##xwiki.cfg## configuration file:
88
89 {{code language="none"}}
90 xwiki.monitor=1
91 {{/code}}
92
93 * Since the plugin logs everything under the ##DEBUG## severity you also need to configure the XWiki Logging (as described above) by setting the ##com.xpn.xwiki.monitor## category to the ##DEBUG## level. (((
94
95 For example for Logback it means adding the following in ##logback.xml##:
96
97 {{code language="none"}}
98 {{/code}}
99
100 And for older XWiki versions using Log4J it means adding the following in ##log4j.properties##:
101
102 {{code language="none"}}
103 log4j.logger.com.xpn.xwiki.monitor=debug
104 {{/code}}
105 )))

Get Connected