懂行的人都知道,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来实现灵活、可定制的日志记录。Log4j的优势在于其高度的可配置性,允许开发者根据需要调整日志级别、输出格式以及日志目的地。 首先,要使用Log4j,...
Struts2、Hibernate、Spring、Log4j、Tomcat 和 MySQL 是Java Web开发中的关键组件,它们共同构建了一个高效、可扩展的Web应用程序框架。以下是对这些技术的详细解释: **Struts2**:Struts2是一个基于MVC(Model-...
### Log4j.properties配置详解 #### 一、Log4j简介与配置流程 Log4j是Apache的一个开源项目,用于实现日志记录功能。通过合理的配置可以极大地提高系统的可维护性和可扩展性,并且便于问题定位。本文将详细介绍`...
通过上述介绍可以看出,Log4j提供了极其灵活的日志管理方案,不仅简化了日志配置的工作,还大大提高了日志系统的可维护性和扩展性。对于任何需要处理大量日志数据的应用程序而言,Log4j都是一个值得推荐的选择。
本文档主要介绍如何使用log4j.properties来进行详细的日志配置。 #### 二、配置步骤 **第一步:加入log4j-1.2.8.jar到lib下** 在项目中使用Log4j之前,首先需要将log4j的jar包添加到项目的类库(lib)中。在这个...
2. **配置stdout Appender**:`log4j.appender.stdout=org.apache.log4j.ConsoleAppender` 表明此Appender类型为`ConsoleAppender`,即将日志信息输出到控制台。接着配置其输出格式为`[QC]%p[%t]%C.%M(%L)|%m%n`。 3...
Struts2、Freemarker和Log4j是Java Web开发中的三个重要组件,它们各自扮演着不同的角色。这里,我们来深入探讨这三个技术的核心概念及其整合应用。 **Struts2** 是一个开源的MVC(Model-View-Controller)框架,...
1. **配置文件**:如struts.xml、spring.xml、log4j.properties或log4j.xml,分别用于配置Struts2、Spring和Log4j的行为。 2. **入口点**:如web.xml,配置Servlet容器(如Tomcat)如何加载和初始化这些框架。 3. **...
### Log4j概述 #### 一、Log4j简介与特点 Log4j是一个由Apache组织提供的开源日志记录框架,广泛应用...通过合理的配置和使用,Log4j可以在不影响性能的前提下提供丰富的日志信息,进而提升软件的稳定性和可维护性。
- **其他依赖的jar包**:如freemarker或velocity模板引擎,以及log4j等日志库。 3. **配置方法**: - **web.xml配置**:添加过滤器(`StrutsPrepareAndExecuteFilter`),指定Struts2的初始化参数。 - **struts....
在这种情况下,需要检查是否导入了log4j相关的jar包,以支持Struts2的日志输出。如果出现找不到类的错误,那通常是因为缺少必要的依赖jar包。确保导入所有必需的jar包,包括Struts2的核心库、Spring、Hibernate等...
- 虽然示例中没有提及,但通常还需要配置Log4j,将`log4j.properties`或`log4j.xml`放入`src`目录,以便记录应用程序的日志信息。 7. **运行与测试** 在Tomcat 5.5上部署工程,通过浏览器访问JSP页面,输入数据并...
而Jakarta是Apache软件基金会下的一个项目孵化器,孕育了多个知名的开源项目,包括Tomcat、Struts等,以及我们讨论的Log4j。 Log4j,作为Java日志框架的先驱,为开发者提供了灵活、高效且可扩展的日志解决方案。它...
- **日志(Logging)**:日志记录有助于调试和跟踪系统运行情况,通常会使用Log4j或Logback等日志框架。 总结来说,"java+struts2+tomcat 员工管理系统"是一个完整的Web应用程序实例,展示了如何使用Java语言和Struts...
2. **日志调试**:开启Struts2的日志,如使用Log4j,可以获取更详细的错误信息,有助于定位问题。 3. **依赖冲突**:确认项目中的所有库没有版本冲突,特别是Struts2和其他库如Spring、Hibernate等。 4. **检查...
检查`log4j.properties`或`logging.properties`文件的配置,确保日志级别设置得足够详细,以便捕捉到错误信息。 7. **Action类问题**:如果Action类的定义、实现或注解存在问题,比如没有正确的返回类型,或者没有...
此外,日志(如Log4j或Logback)也是调试的重要工具,通过查看日志可以获取关于请求处理流程的详细信息。 总之,解决Struts2跳转至404页面的问题需要对整个应用的配置进行仔细检查,从Action、命名空间、拦截器到...
在IT行业中,SSH(Spring、Struts2、Hibernate)是一个常见的企业...同时,我们还需要理解如何配置服务器(如Tomcat)和日志框架(如Log4j)来记录和分析日志信息。这个过程对于理解和优化SSH应用的登录流程至关重要。
9. **log4j**: 日志记录库,用于调试和监控应用的运行情况。 10. **servlet-api**: Java Servlet API,所有Web应用程序都需要的库,提供了Servlet和JSP的相关接口和类。 这些JAR文件共同构成了Struts2框架的基础,...
- **Log4j**: 日志记录库。 **第五步:配置Struts.xml** - 在项目的`WEB-INF/classes`目录下创建`struts.xml`文件,并编写Struts2的配置信息。例如定义Action、拦截器等。 **第六步:配置web.xml** - 在`WEB-INF...