spring中log4j使用
发布日期:2021-07-01 05:40:36
浏览次数:2
分类:技术文章
本文共 2405 字,大约阅读时间需要 8 分钟。
在Web应用中一般使用一个专门的Servlet来完成Log4J的配置,并保证在web.xml的配置中,这个Servlet位于其它Servlet之前,以便在Servlet和jsp中调用。下面是这个servlet,代码如下: import org.apache.log4j.*; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Log4jInit extends HttpServlet { public void init() { String prefix = getServletContext().getRealPath("/"); String file = getInitParameter("log4j");//配置文件位置 if(file != null) { PropertyConfigurator.configure(prefix+file); } } } 此servlet在web.xml中配置: </web-app> ........... servlet> <servlet-name>log4j-init</servlet-name> <servlet-class>example.Log4jInit</servlet-class> <init-param> <param-name>log4j</param-name> <param-value>WEB-INF/log4j.properties</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> ........... </web-app> 用来配置log4J的属性文件: log4j.rootLogger=debug, A1 , R log4j.appender.A1=org.apache.log4j.ConsoleAppender log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=log4j.log log4j.appender.R.MaxFileSize=100KB log4j.appender.R.MaxBackupIndex=1 log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n 这个配置文件指定了两个输出源A1和R。前者把日志信息输出到控制台,后者是一个轮转日志文件。最大的文件是100KB,当一个日志文件达到最大尺寸时,Log4J会自动把example.log重命名为example.log.1,然后重建一个新的 example.log文件,依次轮转。 测试文件test.jsp: <%@ page contentType="text/html; charset=GB2312" %> <%@ page import="org.apache.log4j.*" %> <% Logger logger = Logger.getLogger("test.jsp"); logger.debug("befor test"); %> <h1>This is login test</h1> <% logger.info("after test");%> PatternLayout的格式 %r 自程序开始后消耗的毫秒数 %t 表示日志记录请求生成的线程 %p 表示日志语句的优先级别 %c 日志信息所在的类名 %m%n 表示日志信息的内容 %r 自应用启动到输出该log信息耗费的毫秒数 %d 日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921 %l 日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。 Spring 中log4j配置 <context-param> <param-name>log4jConfigLocation</param-name> <param-value>WEB-INF/log4j.properties</param-value> </context-param> <context-param> <param-name>log4jRefreshInterval</param-name> <param-value>60000</param-value> </context-param> <listener> <listener-class> org.springframework.web.util.Log4jConfigListener </listener-class> </listener> 文件保存的地方 log4j.appender.R.File=${webapp.root}/logs/chengchuang.log转载地址:https://oscar.blog.csdn.net/article/details/1856200 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月24日 00时46分38秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
第13章 Windows内存体系结构
2019-05-02
windows 和 linux 下c/c++内存分布(整理)
2019-05-02
Qt解析XML文件(QDomDocument)
2019-05-02
Qt图形视图框架
2019-05-02
Qt5中表格处理大数据量
2019-05-02
LeakCanary源码分析
2019-05-02
单例模式(Singleton)
2019-05-02
android Handler解析
2019-05-02
linux epoll简介
2019-05-02
python装饰器学习总结
2019-05-02
我在Facebook学到的10个经验
2019-05-02
python开发总结五
2019-05-02
EL、JSTL、servlet
2019-05-02
2 QCreator调试并查看源码
2019-05-02
4 Qt 之 pro 配置多个子工程/子模块
2019-05-02
12 Qt 之 QToolBox、QLCDNumber
2019-05-02
32 Qt 之绘图之绘制一个漂亮的西瓜
2019-05-02
35 Qt 之绘制闪烁文本
2019-05-02
QT知识点总结(一)
2019-05-02
Unix环境变量--文件操作
2019-05-02