Logging

Version 6.1 by Jerome on 2010/12/11

XWiki uses 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.jar), in a log4j.properties file. XWiki' JAR is itself located in your WEB-INF/lib/ directory.

By default XWiki is configured to log everything both on the console and in a xwiki.log file located in the directory from where you have started the JVM. This is usually the directory from where you have started your application server/Servlet container. It's recommended to either start the JVM from a location where it's ok to output the xwiki.log file or to create a custom Log4J configuration as explained below.

Using a custom Log4J configuration

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:

### Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d [%X{url}] [%t] %-5p %-30.30c{2} %x - %m %n

### By default everything that is of warning or severity WARN, ERROR or FATAL is logged both to
### the console and to the xwiki.log file.
log4j.rootLogger=warn, stdout

### Hibernate logging options
log4j.logger.org.hibernate=warn
log4j.logger.org.hibernate.SQL=warn
log4j.logger.org.hibernate.type=warn
log4j.logger.org.hibernate.ps.PreparedStatementCache=warn

### XWiki logging configuration
log4j.logger.org.xwiki=info
log4j.logger.com.xpn.xwiki=warn
log4j.logger.com.xpn.xwiki.render.XWikiRadeoxRenderEngine=warn
log4j.logger.com.xpn.xwiki.store.migration=info

### Deactive Struts warnings
log4j.logger.org.apache.struts.util.RequestUtils=error

### Deactivate JGroups warnings
log4j.logger.org.jgroups=error

## Deactive PDF Export CSS Applier warnings
log4j.logger.info.informatica.doc.style.css.dom=error
log4j.logger.org.apache.fop.layoutmgr.inline.ContentLayoutManager=error

Refer to Log4J's documentation to understand the settings. As an example, to turn on Hibernate's calls, just set the following:

log4j.logger.org.hibernate.SQL=debug

Activating the XWiki monitoring feature

The monitoring feature is already active in the default configuration.

XWiki has a feature to monitor times spent in its major components. To activate it, you need to:

  • Enable the Monitor plugin by adding/modifying the following plugin definition in the xwiki.cfg configuration file:
xwiki.plugins=\
   [...]
   com.xpn.xwiki.monitor.api.MonitorPlugin
  • Enable it by adding/modifying the following in the xwiki.cfg configuration file:
xwiki.monitor=1
  • Since the plugin logs everything under the DEBUG severity you also need to configure Log4J (as described above) by adding the following in log4j.properties:
log4j.logger.com.xpn.xwiki.monitor=debug
Tags:
   

Get Connected