XWiki默认是使用SLF4J和Logback来管理日志。Logback配置文件位于WEB-INF/classes/logback.xml。
XWIki classpath下面第三方包生成的日志通过Logback配置文件的定义可以自动找到自己输出方式。由于原先使用的是Apache Commons Logging(JCL),Log4J作为日志框架,为了与SLF4J共存,通过SLF4J桥接器可以保证,既 log4j-over-slf4j-*.jar和jcl-over-slf4j-*.jar。
默认情况下,XWiki日志只输出到控制台。控制台内容是否被Servlet容器捕获取决于你使用的servlet容器。例如,部署在unix的tomcat能捕获标准输出并把信息输出到tomcat/logs/catalina.out。
有多种方法配置日志。
提出以下3种方法中,只有手动的方法是在服务器重新启动后也是持续有效的。所以,如果你的服务器可能会重新启动并且你想要在重启后保留修改的日志配置,唯一的方法是将它们添加到logback.xml。
只需编辑的logback配置文件(logback.xml位于web应用程序WEB-INF/classes文件夹下),然后重新启动Servlet容器使其生效。
XWiki 4.2开始可以在wiki的管理界面使用Logging Application,你可以用它来配置日志级别。
Logback通过JMX修改日志配置(比如日志级别从Debug调整到INFO),可以在运行时在JMX控制台直接操作,无需重启servlet容器。在生产环境中,调试问题时非常有用。
Lilith是log事件的观察者,和log4j的chainsaw类似。而lilith还能处理大数量的log数据。想要使用Lilith,需要添加以下内容到logback.xml文件:
... <appender name="socket" class="ch.qos.logback.classic.net.SocketAppender"> <RemoteHost>localhost</RemoteHost> <Port>4560</Port> <ReconnectionDelay>170</ReconnectionDelay> <IncludeCallerData>true</IncludeCallerData> </appender> ...
添加一个新的appender。例如:
... <root level="warn"> <appender-ref ref="stdout"/> <appender-ref ref="socket"/> </root> ...
打开Lilith(桌面应用程序),它会自动监听4560端口,如下:

简单日记门面(Facade)SLF4J是为各种loging APIs提供一个简单统一的接口。如果你愿意的话,可以使用Log4j来记录XWiki产生的所有日志,你可以按以下这样做:
XWiki 3.0以及更老的版本使用Commons Logging记录日志。既Commons Logging+log4J。Log4j配置文件log4j.properties位于jar包 (xwiki-core-x.y.jar)里。该jar位于WEB-INF/lib/下面。
默认情况下XWiki日志只记录在控制台上。
最好的办法是在WEB-INF/classes目录下建立一个新的log4j.properties文件。它会覆盖xwiki-core-x.y.jar里的配置。这里有一个示例配置:
### 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
对于Hibernate的设置,需要配置如下:
log4j.logger.org.hibernate.SQL=debug
默认配置下,监控功能已经激活。
XWiki有一个特性,可以监控components花费的时间。要激活它,你需要: