懂行的人都知道,log4j日志是个很基础的东东,与struts这种高层框架无关,只与web开发了的tomcat有关。这里之所以写出struts,是因为笔者一开始用struts的时候,以为是这样,也是这样google的。好了,言归正传,开工了
给tomcat配置log4j有好几种方法,我知道的有:
一、tomcat级别的统一日志管理(没有实际验证过,只是查了资料):
在tomcat的common/lib下增加log4j的.jar包,以便程序使用的时候,能够加载到。
在自己的webapps的WEB-INF/classes下添加log4j.properties配置,所有的东西都是自动的
这种方式的缺点很明显,一个tomcat可能会多个子webapps,都统一到一个日志下,非常不便于管理。所以重点看下面
二、每个webapp分别配置log4j(切实可行的实践经验)
1、在自己youapp的WEB-INF/lib下增加log4j-xxx.jar文件
2、自己写一个servlet,初始化log4j的相关配置信息:
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import org.apache.log4j.PropertyConfigurator;
public class Log4jInitServlet extends HttpServlet {
public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException {
}
public void init() throws ServletException {
System.setProperty("webappRoot", getServletContext().getRealPath("/"));
PropertyConfigurator.configure(getServletContext().getRealPath("/") + getInitParameter("configfile"));
}
}
3、修改web.xml文件,让tomcat启动你app的时候自动加载刚才这个servlet:
<!-- initialize log4j -->
<servlet>
<servlet-name>log4j config file</servlet-name>
<servlet-class>com.keepc.util.Log4jInitServlet</servlet-class>
<init-param>
<param-name>configfile</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
4、在youapp/WEB-INF/classes先新建log4j.properties文件,内容如下:
log4j.rootLogger=debug, A1
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.file=${webappRoot}/logs/youapp_log-
log4j.appender.A1.DatePattern=yyyy-MM-dd'.log'
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss, SSS}[%c]-[%p] %m%n
5、重新启动tomcat,即可在你的youapp应用目录下看到logs目录和对应的log文件
#:这里说道的webapp目录是指:c:\program files\tomcat\webapps\youapp目录
6、在你的app目录下创建一个jsp做下测试:
<%@ page contentType="text/html; charset=GBK" language="java" import="org.apache.log4j.Logger,java.util.*"%>
<html>
<head>
<link href="style/reg.css" rel="stylesheet" type="text/css">
<title>测试页面</title>
</head>
<body>
<%
Logger log = Logger.getLogger("test.jsp");
log.debug("测试日志,哈哈");
%>
</body>
</html>
在你的浏览器调用下这个jsp,就可以看到日志内容了。
本方法在windows和linux下都通用,完全一样。
只与log4j.properties的详细配置方法,网上随便google下都有一箩筐,照抄就是了。
分享到:
相关推荐
tomcat下struts2的log4j日志配置.doc
6.2.2 配置Log4j 6.3 Log4j的使用方法 6.3.1 配置Log4j 6.3.2 配置根Logger 6.3.3 指定日志输出位置 6.3.4 指定日志输出格式 6.3.5 指定日志输出优先级 6.3.6 在代码中使用Log4j 6.4 改进Log4j 6.5 小结 第七章 Ant...
6.2.2 配置Log4j 6.3 Log4j的使用方法 6.3.1 配置Log4j 6.3.2 配置根Logger 6.3.3 指定日志输出位置 6.3.4 指定日志输出格式 6.3.5 指定日志输出优先级 6.3.6 在代码中使用Log4j 6.4 改进Log4j 6.5 小结 第七章 Ant...
6.2.2 配置Log4j 6.3 Log4j的使用方法 6.3.1 配置Log4j 6.3.2 配置根Logger 6.3.3 指定日志输出位置 6.3.4 指定日志输出格式 6.3.5 指定日志输出优先级 6.3.6 在代码中使用Log4j 6.4 改进Log4j 6.5 小结 第七章 Ant...
在《开发者突击:Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)》架构讲解的过程中,穿插介绍了JDBC、Log4j、Sitemesh、JUnit技术。 随书附赠光盘内容包括《开发者突击:Java Web主流框架整合开发(J2EE+...
6.2.2 配置Log4j 6.3 Log4j的使用方法 6.3.1 配置Log4j 6.3.2 配置根Logger 6.3.3 指定日志输出位置 6.3.4 指定日志输出格式 6.3.5 指定日志输出优先级 6.3.6 在代码中使用Log4j 6.4 改进Log4j 6.5 小结 第七章 Ant...
在本书架构讲解的过程中,分别使用并讲解了JDBC、Log4j、Sitemesh、JUnit技术。 一本java web学习的好教材,影印版,清晰度保质保量,共809页,压缩成7個文件,爲了区分别的压缩文件,我在文件名后面增加(hyit2004),...
有关详细信息,请参阅Apache Tomcat 8.5更改日志。 Apache Tomcat 7.x 的Apache Tomcat 7.x的建立在Tomcat中6.0.x的改进和实现的Servlet 3.0, JSP 2.2,EL 2.2和 WebSocket的1.1规格。除此之外,它还包括以下改进...
在本书架构讲解的过程中,分别使用并讲解了JDBC、Log4j、Sitemesh、JUnit技术。 一本java web学习的好教材,影印版,清晰度保质保量,共809页,压缩成7個文件,爲了区分别的压缩文件,我在文件名后面增加(hyit2004),...
12.Log4j 13.Eclipse 14.Svn 15.Xml 16.Tapestry 17.Junit 18.Ejb 19.Spring 20.Unix 21.Vss 22.Jbuilder 23.ireport + jasperreport 24.网络编程 25.Rational Rose 26.applet 和 java 安全 27.javascript代码 28....
在本书架构讲解的过程中,分别使用并讲解了JDBC、Log4j、Sitemesh、JUnit技术。 一本java web学习的好教材,影印版,清晰度保质保量,共809页,压缩成7個文件,爲了区分别的压缩文件,我在文件名后面增加(hyit2004),...
在本书架构讲解的过程中,分别使用并讲解了JDBC、Log4j、Sitemesh、JUnit技术。 随书附赠光盘内容为本书十种架构原型程序包、个人通信录及办公自动化系统源程序,以及本书所使用的所有软件的安装程序。 因为每次...
在本书架构讲解的过程中,分别使用并讲解了JDBC、Log4j、Sitemesh、JUnit技术。 一本java web学习的好教材,影印版,清晰度保质保量,共809页,压缩成7個文件,爲了区分别的压缩文件,我在文件名后面增加(hyit2004),...
在本书架构讲解的过程中,分别使用并讲解了JDBC、Log4j、Sitemesh、JUnit技术。 随书附赠光盘内容为本书十种架构原型程序包、个人通信录及办公自动化系统源程序,以及本书所使用的所有软件的安装程序。 因为每次...
在本书架构讲解的过程中,分别使用并讲解了JDBC、Log4j、Sitemesh、JUnit技术。 一本java web学习的好教材,影印版,清晰度保质保量,共809页,压缩成7個文件,爲了区分别的压缩文件,我在文件名后面增加(hyit2004),...
在本书架构讲解的过程中,分别使用并讲解了JDBC、Log4j、Sitemesh、JUnit技术。 一本java web学习的好教材,影印版,清晰度保质保量,共809页,压缩成7個文件,爲了区分别的压缩文件,我在文件名后面增加(hyit2004),...
在本书架构讲解的过程中,分别使用并讲解了JDBC、Log4j、Sitemesh、JUnit技术。 一本java web学习的好教材,影印版,清晰度保质保量,共809页,压缩成7個文件,爲了区分别的压缩文件,我在文件名后面增加(hyit2004),...
Log4j Jackson FastJson 系统特点 用户、角色和权限管理 设备和文件管理 使用 POI 将设备列表导出到 Excel 文件 基于Spring AOP的用户访问日志 使用 JFreeChart 的用户统计图表显示 前端和后端通过 JSON 进行通信 ...
在本书架构讲解的过程中,分别使用并讲解了JDBC、Log4j、Sitemesh、JUnit技术。 随书附赠光盘内容为本书十种架构原型程序包、个人通信录及办公自动化系统源程序,以及本书所使用的所有软件的安装程序。 因为每次...
在本书架构讲解的过程中,分别使用并讲解了JDBC、Log4j、Sitemesh、JUnit技术。 随书附赠光盘内容为本书十种架构原型程序包、个人通信录及办公自动化系统源程序,以及本书所使用的所有软件的安装程序。 因为每次...