SSH集成log4j日志环境

 2023-09-05 阅读 44 评论 0

摘要:第一步:在web.xml初始化log4j<context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param><context-param><param-name>log4jConf
第一步:在web.xml初始化log4j
<context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param><context-param><param-name>log4jConfigLocation</param-name><param-value>classpath:log4j.properties</param-value></context-param>
    <listener>
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>

配合org.springframework.web.util.Log4jConfigListener来设置spring环境下的Log4j。

第二步:在上面的配置中,使用了log4j.properties作为log4j的配置文件,log4j.properties摘要代码如下:

log4j.rootLogger=ERROR,consol  
log4j.logger.jmccLogger=ERROR,html  log4j.appender.console=org.apache.log4j.ConsoleAppender  
log4j.appender.console.layout=org.apache.log4j.SimpleLayout  log4j.appender.html=org.apache.log4j.RollingFileAppender  
log4j.appender.html.maxFileSize=1KB  
log4j.appender.html.maxBackupIndex=2  
log4j.appender.html.file=${webapp.root}/WEB-INF/log/ex.html  log4j.appender.html.layout=org.apache.log4j.HTMLLayout  
log4j.appender.html.layout.locationInfo=true 

     说明:在web环境中集成log4j,关键的一步是如何找到项目真实路径,当然你也可以固执地把日志文件放在某个绝对路径上:比如 log4j.appender.html.file=D:/ex.html 。但是真的要使用绝对路径吗?幸运的是spring为我们解决了此问题,spring提供了 org.springframework.web.util.Log4jConfigListener监听器来初始化一些必要的log4j信息,比如它使 用了System.setProperty(keyroot);  没错key=webapp.root,而root就是当前项目的真实路径(得到项目的真实路径也很简单ServletContext.getRealPath("/")),这样我们就可以使用${webapp.root}来获取项目的真实路径。

第三步:获取Logger对象,并在需要记录日志的地方进行日志记录。

补充:如果熟悉listener,并且知ServletContext.getRealPath("/"),其实这个用的频率也较高。那么完全可以写一个类似spring的Log4jConfigListener,当然也可以直接拷贝这个类,如果在项目中你并不想使用spring,只是想用log4j

 

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/1253.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息