log4j在web中的使用
在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
log4j在web中的使用相关推荐
- 如何在log4j.properties文件中使用相对路径
来源:http://hi.baidu.com/eredlab/blog/item/f6c1a5efe44a1af9cf1b3e17.html 写在最前面: log4j是一个应用非常广泛的Java日志组 ...
- 怎样在log4j.xml配置文件中引入变量:小公司经验较多的我和阿里UC等大公司经验较多的Boss,一些技术交流和探讨...
2019独角兽企业重金招聘Python工程师标准>>> 从最初学习使用log4j的时候,网上和书本上主要都是使用"log4j.properties"这种属性格式, ...
- HTML5 Web app开发工具Kendo UI Web中图像浏览器的使用
2019独角兽企业重金招聘Python工程师标准>>> Kendo UI Web中的图像浏览器在默认的情况下会打开一个简单的对话框,如下图所示,方便用户键入或者是粘贴图片的URL以及 ...
- 解析 WEB 中所有 URL 的简单牛B代码,先保存起来,方式将来找不到了
解析 WEB 中所有 URL 的简单牛B代码,先保存起来,方式将来找不到了 2011-11-22 16:48 by 通用信息化建设平台, 1471 ...
- java web 中有效解决中文乱码问题-pageEncoding与charset区别, response和request的setCharacterEncoding 区别
java web 中有效解决中文乱码问题-pageEncoding与charset区别, response和request的setCharacterEncoding 区别 参考文章: (1)java ...
- Web中的积累:外观模式 Facade
摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢! 壹 前言 目测好久没写文章了,距离上一篇文章也有二十多天.我是怎么了?哈 ...
- HTML5 Web app开发工具Kendo UI Web中Grid网格控件的使用
Kendo UI Web中的Grid控件不仅可以显示数据,并对数据提供了丰富的支持,包括分页.排序.分组.选择等,同时还有着大量的配置选项.使用Kendo DataSource组件,可以绑定到本地的J ...
- part.write java_小白向:web中利用request.getPart()上传文件到服务器
被文件上传弄得焦头烂额的一天,果然web中的路径和各种设置真的好讨厌= = 下面是超级小白的.及其简约的"详"解 1.明确目的: 用户将 1.txt 文件 上传到 服务器(web工 ...
- 模拟Spring如何在WEB中运行
Spring在web中配置和普通的Java程序中有所区别,总结一下主要表现在以下几个方面: ①jar包不同,需要引入两个web的jar包 ②需要考虑IOC容器创建的时间 非 WEB 应用在 main ...
最新文章
- 青龙面板修改端口教程避开5700更安全
- xml相关php函数,PHP利用xml常用函数的详细集合示例
- 甘肃省智慧教育云平台实名认证_“好分数”甘肃行,人工智能助力教育均衡
- Linux 服务器安全加固 10条建议
- 用C#实现图片数据库存储与显示
- getHibernateTemplate() VS getSession()
- 三位深度学习之父共获2019年图灵奖,学术人生令人赞叹!!!
- 孙玄:微服务架构中分布式事务实现方案如何取舍
- 抖音怎么知道自己上热门 抖音是靠md5识别视频的
- verilog语法错误
- spring读取外部文件+SpEL
- Matlab绘制Sigmod、Tanh、ReLU
- 计算机技术实验报告答案,大学计算机实验报告答案-实验1.docx
- ZYNQ 7000 USB HS启动流程和工作方式
- 无人机项目跟踪详解七十——升压电路及LM27313详解
- 小老板生意总是做不大,而真正老板只做三件事
- PM1200手持无线电综合测试仪
- FidBugs的使用学习
- 达梦数据库建新用户及注意事项
- 提示 api-ms-win-crt-runtime-l1-1-0.dll丢失 ivms-4200 安装好运行报错api-ms-win-crt-runtime-|1-1-0.dll