`
xiexd
  • 浏览: 248728 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

log4j相对路径

    博客分类:
  • JAVA
阅读更多

log4j相对路径

方法一:

在工程src目录下建立一个log4j.properties文件,该文件会自动拷贝到/WEB-INF/classes下,文件内容如下:

<!-- <br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->### set log levels ###
log4j.rootLogger 
=  debug ,  stdout ,  D ,  E


### 输出到控制台 ###
log4j.appender.stdout 
=  org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target 
=  System.out
log4j.appender.stdout.layout 
=  org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern 
=  %d{ABSOLUTE} %5p %c:%L - %m%n


### 输出到日志文件 ###
log4j.appender.D 
=  org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File 
=  ${WORKDIR}/logs/log.log
log4j.appender.D.Append 
=  true
## 输出DEBUG级别以上的日志
log4j.appender.D.Threshold 
=  DEBUG
log4j.appender.D.layout 
=  org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern 
=  %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ]  -  [ %p ]  %m%n


### 保存异常信息到单独文件 ###
log4j.appender.E 
=  org.apache.log4j.DailyRollingFileAppender
## 异常日志文件名
log4j.appender.E.File 
=  ${WORKDIR}/logs/error.log
log4j.appender.E.Append 
=  true
## 只输出ERROR级别以上的日志!!!
log4j.appender.E.Threshold 
=  ERROR 
log4j.appender.E.layout 
=  org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern 
=  %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ]  -  [ %p ]  %m%n



然后写一个初始化启动的Servlet,代码如下:

<!-- <br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->package  servlets;

import  javax.servlet.ServletException;
import  javax.servlet.http.HttpServlet;

public   class  Log4jInit  extends  HttpServlet {

 
private   static   final   long  serialVersionUID  =   - 5543643811008717484L ;

 
public  Log4jInit() {
  
super ();
 }

 
public   void  destroy() {
  
super .destroy(); 
 }

 
public   void  init()  throws  ServletException {
  
//  获得工作目录,修改log4j文件的保存路径
  String path  =   this .getServletContext().getRealPath( "" );
  System.out.println(path);
  System.setProperty(
" WORKDIR " , path);
  
  
super .init();
 }
}


web.xml配置如下:

<!-- <br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->   < servlet >
    
< description > This is the description of my J2EE component </ description >
    
< display-name > This is the display name of my J2EE component </ display-name >
    
< servlet-name > Log4jInit </ servlet-name >
    
< servlet-class > servlets.Log4jInit </ servlet-class >
    
< init-param >    
    
< param-name > log4j </ param-name >    
      
< param-value > WEB-INF/classes/log4j.properties </ param-value >
    
</ init-param >
    
< load-on-startup > 1 </ load-on-startup >
  
</ servlet >

 

这样就可以在代码中直接使用了
<%@ page import="org.apache.log4j.Logger;"%>
<%
  Logger log = Logger.getLogger(this.getClass());
  log.info("记录信息");
  log.debug( " debug " );
  log.error( " error " );
%>

 

    <servlet>
         <servlet-name>log4j-init</servlet-name>
         <servlet-class>com.comlink.base.action.Log4jInit</servlet-class>
         <init-param>
           <param-name>log4j</param-name>
           <param-value>WEB-INF/classes/log4j.properties</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
       </servlet>


方法二:
去掉方法一中配置文件log4j.properties中的${WORKDIR}/
然后修改Log4jInit的init方法如下:

分享到:
评论

相关推荐

    Log4j 相对路径配置

    以下是关于Log4j相对路径配置的详细说明: 首先,在`Web.xml`文件中,我们需要进行一些配置来使Log4j在Web应用启动时初始化。`&lt;context-param&gt;`标签用于设置Log4j的相关参数: 1. `&lt;param-name&gt;webAppRootKey...

    log4j中配置日志文件相对路径方法(PDF)

    ### Log4j中配置日志文件相对路径方法详解 #### 概述 在软件开发过程中,日志记录是一项重要的功能,它有助于开发者调试程序、监控应用程序的运行状态以及追踪问题。`Log4j`作为一款优秀的日志管理工具,被广泛应用...

    Log4j中相对路径的问题

    本文主要讨论了在Log4j配置中如何处理相对路径的问题,以适应不同环境下的日志文件存储需求。 一、使用系统属性设置路径 在Log4j的配置文件(通常是`log4j.properties`)中,可以使用`${}`语法引用系统属性。例如...

    0积分:完全相对路径的log4j配置

    例如,在配置文件中指定的日志文件路径`log4j.appender.logfile.File=set up in web.xml`,这里的“set up in web.xml”实际上是指在`web.xml`中指定的日志文件路径,而这个路径也是相对于项目的根目录。 #### 总结...

    log4j(二):动态配置日志输出路径

    上述配置中,`log4j.appender.FILE.File`指定了日志文件的路径,`${user.home}/logs/myapp.log`表示日志将被写入用户主目录下的logs文件夹中的myapp.log文件。通过改变这个路径,我们就能动态地改变日志输出的位置。...

    老生常谈Log4j和Log4j2的区别(推荐)

    下面我们将从配置文件类型、核心JAR包、文件渲染和Log调用四个方面来比较Log4j和Log4j2的区别。 配置文件类型 Log4j通过一个.properties文件作为主配置文件,而Log4j2则弃用了这种方式,采用的是.xml、.json或者....

    log4j简单范例 日志文件是相对路径的

    在这个配置中,`./logs/app.log`表示相对于当前运行目录的日志文件路径。`DailyRollingFileAppender`会根据日期每天创建新的日志文件。 2. **编程接口**:在Java代码中,你可以通过以下方式获取并使用Logger: ```...

    若依框架使用的log4j2.16.0,修复log4j漏洞log4j2下载最新log4j2.16.0下载

    在提供的压缩包文件列表中,"log4j2.16.0"可能包含了Log4j2库的更新JAR文件或其他相关资源。用户应当解压这个文件,然后根据项目的具体依赖管理方式,将新的JAR添加到若依框架的类路径中,或者更新Maven或Gradle的...

    log4j中配置日志文件相对路径方法分析

    log4j中配置日志文件相对路径方法分析 方法一、 解决的办法自然是用相对路径代替绝对路径,其实log4j的FileAppender本身就有这样的机制,如:log4j.appender.logfile.File=${WORKDIR}/logs/app.log 其中“${...

    log4j.jar包,和log4j.properties配置文件下载

    在实际应用中,将`log4j.jar`添加到项目的类路径中,并根据项目需求定制`log4j.properties`,即可实现有效的日志管理。这不仅有助于问题排查,也有利于系统维护和性能优化,因为过多的日志可能会占用大量磁盘空间,...

    log4j输出多个自定义路径的日志文件小例子

    要实现输出多个自定义路径的日志文件,我们需要在Log4j的配置文件(通常是`log4j.properties`或`log4j.xml`)中定义多个Appender。Appender是Log4j中负责将日志信息输出到指定目的地的组件,例如文件、控制台、网络...

    log4j-api-2.12.4.ja和log4j-core-2.12.4.jar

    使用这两个JAR文件时,需要确保在应用程序的类路径中同时包含它们,以便正确运行Log4j 2框架。配置Log4j通常通过一个XML或JSON格式的配置文件完成,例如`log4j2.xml`或`log4j2.json`,这个文件定义了日志的输出级别...

    log4j文件修改出力位置即可,放在Main文件同一个包下

    log4j文件修改出力位置即可,放在Main文件同一个包下。

    log4j+slf4j实现 log4j测试代码,log4j+slf4j实现 log4j测试代码

    2. **配置Log4j**:在项目的类路径下创建`log4j.properties`或`log4j.xml`配置文件,指定日志级别、输出目的地等。例如: ```properties # log4j.properties log4j.rootLogger=DEBUG, stdout log4j.appender....

    log4j的eclipse工程,输出到文件的方式配置log4j

    在Eclipse工程中,首先需要将`log4j.properties`文件添加到项目的类路径(ClassPath)中,确保在运行时可以被加载。然后,在代码中引入log4j的相关API,如: ```java import org.apache.log4j.Logger; public ...

    log4j.properties配置文件

    - `log4j.appender.file.File=d:\\logs\mylog.log`: 指定日志文件的路径为`d:\\logs\mylog.log`。 - `log4j.appender.file.layout`: 同样使用PatternLayout进行日志格式化。 - `log4j.appender.file.layout....

    log4j-1.2.17.jar及配置文件

    《log4j-1.2.17.jar及其配置文件详解》 在IT行业中,日志记录是一项至关重要的任务,它能帮助开发者追踪程序运行状况、定位错误和调试问题。Log4j,作为Apache软件基金会的一个开源项目,是Java平台上广泛使用的...

    log4j使用jar包和log4j.properties配置文件

    3. 在IDE的构建路径设置中,将`log4j.jar`添加到项目类路径。 ### 3. 配置文件`log4j.properties` `log4j.properties`是Log4j的配置文件,通过它我们可以定制日志的级别、输出方式、格式等。一个基本的`log4j....

    log4j日志报错解决办法

    在Java开发过程中,如果遇到"log4j:WARN Please initialize the log4j system properly"这样的错误提示,通常意味着Log4j没有正确配置或者找不到配置文件。 首先,错误信息"log4j:WARN No appenders could be found...

    log4j保存路径 配置

    配置Log4j的方式通常是通过一个XML或.properties格式的配置文件,比如`log4j.properties`或`log4j.xml`。以下是一个基于.properties文件的示例,演示如何配置日志保存路径: ```properties # 定义一个名为Console的...

Global site tag (gtag.js) - Google Analytics