liferay里的日志管理

     用liferay开发项目经常遇到的一个问题就是日志如何输出,在哪输出?像我们以往那样在每个portlet工程里定义log4j.xml是无法运行的,liferay设计有自己的日志系统,不过底层实现仍然是log4j.

      <<liferay in action>>一书中说,对于tomcat,要在lib\ext下面建个文件夹META-INF,下面再放log4j.dtd和portal-log4j-ext.xml两个文件,前者自不必说,后者其实就是log4j的定义文件,即以往用的log4j.xml,只是名字不同罢了。如何定义里面的内容参考log4j官方文档即可,在此不作讨论,问题是这是针对tomcat的办法,书中没有讲如何针对jboss版的liferay进行配置,经过实验,无论是哪种容器绑定的liferay,都可以在ROOT项目的web\classes建立前面需要的文件夹---META-INF及其两个配置文件,这个办法比较好,各容器通用。

        但是,除了事先定死的日志定义外,liferay还提供了一个强大的功能,能够动态地改变日志级别或添加监控的类,打开控制面板--服务器管理--日志级别

 
liferay里的日志管理_第1张图片
 

 可以动态地改变级别,然后可以再观察控制台的日志,默认liferay是监控了很多类的日志,你可以输入关键字进行搜索,搜索不到,也可以自己动态地添加一个监控的类或包,点击add category,指定包或类名,级别即可,这时你再运行想监控的页面,观察控制台就可以看到相应的日志被输出了。
liferay里的日志管理_第2张图片
 

  如果log4j里面配置的日志太多了,系统启动后你也可以在控制面板里动态地调高输出级别,减少海量的日志输出。

    日志用到的文件在附件中可下载。

 

    

你可能感兴趣的:(liferay)