`
liukl
  • 浏览: 31589 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

tomcat下struts2的log4j日志配置(刚刚测试过)

阅读更多

懂行的人都知道,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下都有一箩筐,照抄就是了。

 

4
1
分享到:
评论
4 楼 liukl 2008-02-25  
一般公共库文件都按惯例放在lib下,放到classes下应该也可以,没试过
3 楼 qichunren 2008-02-25  
直接把配置文件丢到classes下,log4j就可以找到了,不用这么麻烦的
2 楼 liukl 2008-02-25  
只是拿jsp做个测试,其实jsp和java里是一回事。<%%>里的就是java代码
1 楼 kyo100900 2008-02-25  
JSP直接调用Log4j场合多吗?

相关推荐

    tomcat下struts2的log4j日志配置.doc

    在Tomcat服务器上配置Struts2框架的日志系统时,通常会利用Log4j来实现灵活、可定制的日志记录。Log4j的优势在于其高度的可配置性,允许开发者根据需要调整日志级别、输出格式以及日志目的地。 首先,要使用Log4j,...

    struts2+hibernate+spring+mysql+tomcat+log4j

    Struts2、Hibernate、Spring、Log4j、Tomcat 和 MySQL 是Java Web开发中的关键组件,它们共同构建了一个高效、可扩展的Web应用程序框架。以下是对这些技术的详细解释: **Struts2**:Struts2是一个基于MVC(Model-...

    log4j.properties配置详解

    ### Log4j.properties配置详解 #### 一、Log4j简介与配置流程 Log4j是Apache的一个开源项目,用于实现日志记录功能。通过合理的配置可以极大地提高系统的可维护性和可扩展性,并且便于问题定位。本文将详细介绍`...

    log4j日志使用说明

    通过上述介绍可以看出,Log4j提供了极其灵活的日志管理方案,不仅简化了日志配置的工作,还大大提高了日志系统的可维护性和扩展性。对于任何需要处理大量日志数据的应用程序而言,Log4j都是一个值得推荐的选择。

    log4j详细配置

    本文档主要介绍如何使用log4j.properties来进行详细的日志配置。 #### 二、配置步骤 **第一步:加入log4j-1.2.8.jar到lib下** 在项目中使用Log4j之前,首先需要将log4j的jar包添加到项目的类库(lib)中。在这个...

    深入了解log4j配置说明

    2. **配置stdout Appender**:`log4j.appender.stdout=org.apache.log4j.ConsoleAppender` 表明此Appender类型为`ConsoleAppender`,即将日志信息输出到控制台。接着配置其输出格式为`[QC]%p[%t]%C.%M(%L)|%m%n`。 3...

    struts2+freemarker+log4j

    Struts2、Freemarker和Log4j是Java Web开发中的三个重要组件,它们各自扮演着不同的角色。这里,我们来深入探讨这三个技术的核心概念及其整合应用。 **Struts2** 是一个开源的MVC(Model-View-Controller)框架,...

    struts2 + spring + tiles + log4j blank framewotk

    1. **配置文件**:如struts.xml、spring.xml、log4j.properties或log4j.xml,分别用于配置Struts2、Spring和Log4j的行为。 2. **入口点**:如web.xml,配置Servlet容器(如Tomcat)如何加载和初始化这些框架。 3. **...

    log4j概述

    ### Log4j概述 #### 一、Log4j简介与特点 Log4j是一个由Apache组织提供的开源日志记录框架,广泛应用...通过合理的配置和使用,Log4j可以在不影响性能的前提下提供丰富的日志信息,进而提升软件的稳定性和可维护性。

    struts2全部jar包和配置方法说明

    - **其他依赖的jar包**:如freemarker或velocity模板引擎,以及log4j等日志库。 3. **配置方法**: - **web.xml配置**:添加过滤器(`StrutsPrepareAndExecuteFilter`),指定Struts2的初始化参数。 - **struts....

    Struts2.5.2的配置及问题解决

    在这种情况下,需要检查是否导入了log4j相关的jar包,以支持Struts2的日志输出。如果出现找不到类的错误,那通常是因为缺少必要的依赖jar包。确保导入所有必需的jar包,包括Struts2的核心库、Spring、Hibernate等...

    struts2 spring2 hibernate3 配置

    - 虽然示例中没有提及,但通常还需要配置Log4j,将`log4j.properties`或`log4j.xml`放入`src`目录,以便记录应用程序的日志信息。 7. **运行与测试** 在Tomcat 5.5上部署工程,通过浏览器访问JSP页面,输入数据并...

    ant-jakarta-log4j-1.6.1.jar.zip

    而Jakarta是Apache软件基金会下的一个项目孵化器,孕育了多个知名的开源项目,包括Tomcat、Struts等,以及我们讨论的Log4j。 Log4j,作为Java日志框架的先驱,为开发者提供了灵活、高效且可扩展的日志解决方案。它...

    java+struts2+tomcat 员工管理系统

    - **日志(Logging)**:日志记录有助于调试和跟踪系统运行情况,通常会使用Log4j或Logback等日志框架。 总结来说,"java+struts2+tomcat 员工管理系统"是一个完整的Web应用程序实例,展示了如何使用Java语言和Struts...

    struts2环境配置

    2. **日志调试**:开启Struts2的日志,如使用Log4j,可以获取更详细的错误信息,有助于定位问题。 3. **依赖冲突**:确认项目中的所有库没有版本冲突,特别是Struts2和其他库如Spring、Hibernate等。 4. **检查...

    struts2中,在tomcat启动时候总是出现严重

    检查`log4j.properties`或`logging.properties`文件的配置,确保日志级别设置得足够详细,以便捕捉到错误信息。 7. **Action类问题**:如果Action类的定义、实现或注解存在问题,比如没有正确的返回类型,或者没有...

    Spring-Struts2-Hibernate登录打印日志

    在IT行业中,SSH(Spring、Struts2、Hibernate)是一个常见的企业...同时,我们还需要理解如何配置服务器(如Tomcat)和日志框架(如Log4j)来记录和分析日志信息。这个过程对于理解和优化SSH应用的登录流程至关重要。

    struts2所需jar包 lib.zip

    9. **log4j**: 日志记录库,用于调试和监控应用的运行情况。 10. **servlet-api**: Java Servlet API,所有Web应用程序都需要的库,提供了Servlet和JSP的相关接口和类。 这些JAR文件共同构成了Struts2框架的基础,...

    struts2开发环境的搭建

    - **Log4j**: 日志记录库。 **第五步:配置Struts.xml** - 在项目的`WEB-INF/classes`目录下创建`struts.xml`文件,并编写Struts2的配置信息。例如定义Action、拦截器等。 **第六步:配置web.xml** - 在`WEB-INF...

    MyEclipse8下struts2开发例程及解析1.doc

    - `commons-logging-1.1.x.jar`:Apache Software Foundation 提供的日志包,Struts 2 使用它来支持 Log4J 和 JDK 日志记录。 - `commons-fileupload-1.x.x.jar`:文件上传组件,对于 Struts 2.1.6 及以上版本是...

Global site tag (gtag.js) - Google Analytics