在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
分享到:
相关推荐
Spring4.3.7的log4j以及配置文件Spring4.3.7的log4j以及配置文件Spring4.3.7的log4j以及配置文件
Spring中使用Log4J的Eclipse项目!
很简单的一个spring整合log4j的例子,适合初学者学习
简单的demo4初学者,用到spring注解,log4j记录日志到文件
Spring MVC集成 Log4j
Spring对Log4J的增强.txtSprig对Spring对Log4J的增强.txtLog4J的增强.txt
在网上找不到好的实现,自己写了一个,spring log4j 实例
Log4j+API帮助文档,log4j详细配置。log4j与spring的详细配置。
Spring MVC框架整合log4j的完整代码。
spring log4j配置文件资料 spring log4j配置文件资料 spring log4j配置文件资料
NULL 博文链接:https://quicker.iteye.com/blog/676620
在log4j.properties配置文件中可以指定字符编码: 下面这行配置指定了两个appender: log4j.rootCategory=INFO,appender1的名字,appender2的名字 下面这两行配置将上一行的两个appender的字符编码配置为GBK:
spring 配置log4j.docxspring 配置log4j.docx
此资源包含spring-boot-starter-log4j2日志框架所需的jar包及版本,童叟无欺,真实有效,放心下载
log4j.xml配置范例log4j.xml配置范例log4j.xml配置范例log4j.xml配置范例log4j.xml配置范例
Log4j2、Fastjson、Log4j的BurpSuite插件亲测有效,非常好用老版的BurpSuite和新版的都可以使用。祝大家挖洞顺利(工具仅用于学习交流)
log4j2-spring.xml配置文件
spring+springMVC+mybatis+log4j框架整合,下载导入即可使用,使用时请配置自己的数据库信息即可。
自用的log配置文件,比较详细,喜欢的可以拿去,借用了一些人的配置
NULL 博文链接:https://guoruisheng-163-com.iteye.com/blog/577083