很多朋友想把日志写在web应用当中,下面来介绍一下:
log4j.properties文件配置如下:
log4j.rootLogger=ERROR,CONSOLE,A1
log4j.addivity.org.apache=true
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=${webappHome}/WEB-INF/logs/website.log
log4j.appender.A1.Encoding=GBK
log4j.appender.A1.Threshold=DEBUG
log4j.appender.A1.DatePattern='.'yyyy-MM-dd
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L : %m%n
这里,我们使用
${webappHome}来取得应用路径,
webappHome是个变量。我们是从哪里取得的值呢?是从我们自己的类中,因此必须写这个类。很简单:
package com.clientmanager.util;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import org.apache.log4j.PropertyConfigurator;
public class Log4jInit extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
String prefix = config.getServletContext().getRealPath("/"); //获取当前路径
String file = config.getInitParameter("log4j");//从web.xml中获取参数值,找到log4j这个文件
System.setProperty("webappHome", prefix); //log4j.properties文件中的变量是在这里设置的
if (file != null) {
PropertyConfigurator.configure(prefix + file);
}
}
}
好了,有了这个类,下一步是要在服务器启动时来初始化这个类。所以要在web.xml中进行配置
web.xml
<servlet>
<servlet-name>log4j-init</servlet-name>
<servlet-class>com.clientmanager.util.Log4jInit</servlet-class>
<init-param>
<param-name>log4j</param-name>
<param-value>WEB-INF/classes/log4j.properties</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
最后说一点,如果你用
struts,而在
web.xml中配置了
ServletAction,它的启动级别为
<load-onstartup>0</load-on-startup>,那么我们的这个类的的启动级别不能低于它,否则可能会出现找不到路径的问题
分享到:
相关推荐
### Log4j中配置日志文件相对路径方法详解 #### 概述 在软件开发过程中,日志记录是一项重要的功能,它有助于开发者调试程序、监控应用程序的运行状态以及追踪问题。`Log4j`作为一款优秀的日志管理工具,被广泛应用...
本文主要讨论了在Log4j配置中如何处理相对路径的问题,以适应不同环境下的日志文件存储需求。 一、使用系统属性设置路径 在Log4j的配置文件(通常是`log4j.properties`)中,可以使用`${}`语法引用系统属性。例如...
以下是关于Log4j相对路径配置的详细说明: 首先,在`Web.xml`文件中,我们需要进行一些配置来使Log4j在Web应用启动时初始化。`<context-param>`标签用于设置Log4j的相关参数: 1. `<param-name>webAppRootKey...
本文通过一个具体的例子展示了如何在Java项目中使用Properties文件来配置Log4j,特别强调了完全相对路径的使用方法。这种配置方式简洁明了,适用于各种规模的应用程序。此外,文章还涉及了如何在Servlet环境中加载...
log4j中配置日志文件相对路径方法分析 方法一、 解决的办法自然是用相对路径代替绝对路径,其实log4j的FileAppender本身就有这样的机制,如:log4j.appender.logfile.File=${WORKDIR}/logs/app.log 其中“${...
Log4j是一款广泛使用的日志...通过这个简单的Log4j范例,我们可以理解如何配置和使用Log4j进行日志记录,并了解相对路径在设置日志文件时的应用。这有助于我们在开发和维护Java应用程序时更好地管理和分析日志信息。
- 将log4j.properties文件放置在项目的`bin/`目录下,并通过相对路径或者系统资源的方式加载配置文件。 - 如果文件放置在`bin/`目录下的更深层次子目录中,则需要确保路径正确无误。 #### 三、log4j格式详解 - *...
在Java应用中使用Log4j进行日志记录的第一步,是创建并配置log4j的属性文件(log4j.properties)。这个文件定义了日志的级别、输出目的地以及日志的格式。以下是一个典型的log4j配置示例: ```properties # 设置根...
在Java开发中,日志系统是不可或缺的一部分,Log4j作为一款广泛使用的日志记录框架,为开发者提供了强大的日志处理能力。本文将详细探讨Log4j中涉及的“绝对路径”概念及其在实际应用中的重要性。 一、Log4j简介 ...
用户需要将此jar包加入到项目的类路径中,才能使用Log4j的功能。1.2.8是一个较早的版本,虽然可能不包含最新的特性和优化,但因其稳定性和兼容性,依然在许多项目中被使用。 3. **log4j.properties** 这是一个默认...
Log4j是一个广泛使用的Java日志框架,最初为Java平台设计,但通过一些方式,我们也可以在Android环境中利用它来增强日志记录的能力。本示例将探讨如何在Android项目中集成和使用log4j。 1. **引入log4j** 虽然...
log4j.appender.FILE.File=${catalina.home}/logs/myApp.log # 这里使用相对路径 log4j.appender.FILE.ImmediateFlush=true log4j.appender.FILE.Threshold=DEBUG log4j.appender.FILE.Append=true log4j.appender....
Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件还是其他地方,还可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。...
示例代码中使用的路径为`System.getProperty("user.dir") + "/webconfig/log4j.properties"`,这表示从当前工作目录下的`webconfig`文件夹中读取`log4j.properties`文件。 3. **日志输出路径** `log4j.properties...
- Tomcat本身不包含默认的log4j配置,因此在Tomcat上使用log4j相对简单直接。 - 开发者需要自行创建log4j配置文件(log4j.properties或log4j.xml),并根据项目的需要进行配置。 - **JBoss环境下log4j配置**: - ...
通过commons-logging的接口,开发者可以在代码中使用一致的日志API,而具体的日志输出则由log4j控制,同时commons-discovery可以辅助进行更高级的管理和监控。为了确保项目正常运行,这三个jar包需要添加到项目的类...
`log4j.appender.FILE`配置文件appender,如`log4j.appender.FILE.File=file.log`指定日志文件路径。`log4j.appender.FILE.Append=false`决定是否追加模式,如果为`true`,则日志将被添加到现有文件,如果为`false`...
开发者只需将这个JAR文件添加到项目的类路径中,就可以开始使用log4j进行日志记录。 **详解内容** "详解"部分可能包括以下内容: 1. **配置文件**:log4j的配置通常通过一个XML或.properties文件完成,例如`log4j...
### Log4j的使用详解 #### 一、Log4j简介及使用场合 Log4j是Apache的一个开源项目,用于为Java应用程序提供日志记录功能。它的设计目标是为了简化日志记录过程,使得开发者能够更加方便地在应用程序中集成日志功能...
在这种情况下,如果系统中同时存在log4j和Commons-Logging,Spring会优先使用log4j。 3. **Spring框架**:Spring是一个开源的Java企业级应用框架,它提供了一系列的模块,包括依赖注入(DI)、面向切面编程(AOP)...