`
wandejun1012
  • 浏览: 2731132 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

log4j将日志输出到相对目录

    博客分类:
  • java
 
阅读更多

很简单,我喜欢将Log跟着webRoot走,这样随便你项目移到哪,都可以直接运行,不要再运行这运行那。

 

思路是写一个初始化log4j的servlet。

 

 

 

public class Log4jInit extends HttpServlet { 
         static Logger logger = Logger.getLogger(Log4jInit.class); 
         public Log4jInit() { 
         } 

         public void init(ServletConfig config) throws ServletException { 
             String prefix = config.getServletContext().getRealPath("/"); 
             String file = config.getInitParameter("log4j"); 
             String filePath = prefix + file; 
             Properties props = new Properties(); 
             try { 
                 FileInputStream istream = new FileInputStream(filePath); 
                 props.load(istream); 
                 istream.close(); 
                 //toPrint(props.getProperty("log4j.appender.file.File")); 
                 String logFile = prefix + props.getProperty("log4j.appender.file.File");//设置路径 
                 props.setProperty("log4j.appender.file.File",logFile); 
                 PropertyConfigurator.configure(props);//装入log4j配置信息 
             } catch (IOException e) { 
                 toPrint("Could not read configuration file [" + filePath + "]."); 
                 toPrint("Ignoring configuration file [" + filePath + "]."); 
                 return; 
             } 
         } 

         public static void toPrint(String content) { 
             System.out.println(content); 
         } 
} 

 

 

 

 

 

refurl:http://sharep.blog.51cto.com/539048/143734

 

http://ziqiang0501.iteye.com/blog/280755 ,有spring的配置,具体如下:

 

由于spring也会加载log4j.properties,如果加载不到就往控制台打log信息,总觉得有些碍眼,于是想办法去掉。Spring提供了一个Log4jConfigListener,本身就能通过web.xml中配置来指定位置加载log4j配置文件和log输出路径,注意该listener需要放在spring的Listener之前。 
事实上,Log4jConfigListener更适合log4j在web工程中使用,原因如下: 
  1. 动态的改变记录级别和策略,不需要重启Web应用,如《Effective Enterprise Java》所说。 
   2. 把log文件定在 /WEB-INF/logs/ 而不需要写绝对路径。 
因为 系统把web目录的路径压入一个叫webapp.root的系统变量。这样写log文件路径时不用写绝对路径了. 
log4j.appender.logfile.File=${webapp.root}/WEB-INF/logs/myfuse.log 
   3. 可以把log4j.properties和其他properties一起放在/WEB-INF/ ,而不是Class-Path。 
   4.log4jRefreshInterval为60000表示 开一条watchdog线程每60秒扫描一下配置文件的变化; 

 

在web.xml 添加 

<context-param>    
    <param-name>log4jConfigLocation</param-name>    
    <param-value>WEB-INF/log4j.properties</param-value>    
</context-param>    
    
<context-param>    
    <param-name>log4jRefreshInterval</param-name>    
    <param-value>60000</param-value>    
</context-param>    
    
<listener>    
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>    
</listener>    

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

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

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

    log4j 配置日志文件,把日志信息输出到项目的某个文件夹下

    在本文中,我们将深入探讨如何配置log4j,以便将日志信息输出到项目中的特定文件夹。 首先,我们需要创建一个`log4j.properties`或`log4j.xml`配置文件,这个文件通常放在项目的`src/main/resources`目录下。在这个...

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

    这个“log4j简单范例 日志文件是相对路径的”示例将展示如何配置Log4j来记录日志,并将日志文件保存在程序运行时的相对路径下。 首先,Log4j的核心组件包括Logger(日志器)、Appender(输出目的地)和Layout(格式...

    log4j-1.2.17的jar包以及依赖包,还有一份log4j的配置文件,输出到控制台和文件夹两种配置

    在`log4j.properties`中,可能会定义多个Appender,比如将日志输出到控制台(ConsoleAppender)和文件(FileAppender)。 3. **Layouts**: Layout定义了日志信息的格式。常见的Layout有PatternLayout,可以自定义...

    使用log4j写日志文件

    Log4j作为Apache下的一个开源项目,是Java应用中最常用的日志框架之一,它提供了灵活的日志级别配置、丰富的输出格式以及多样的日志输出目的地选择,如控制台、文件等。 ### Log4j配置详解 #### 步骤一:配置log4j...

    Log4j 相对路径配置

    前者将日志输出到文件,后者将日志输出到控制台。 2. `log4j.appender.ServerDailyRollingFile.File=${webApp.root}/WEB-INF/logs/sysout.log` 这里使用了之前在`Web.xml`中定义的`webApp.root`属性,指定日志文件...

    log4j日志文件jar包

    本篇将详细探讨log4j日志文件jar包及其在IT领域的应用。 **1. Log4j简介** Log4j是一个开源的日志记录工具,最初由Ceki Gülcü于2001年设计并发布。它的设计理念是提供一个灵活、高性能的日志系统,允许开发者调整...

    Log4j中相对路径的问题

    这意味着在程序启动时,你需要通过`System.setProperty("WORKDIR", "实际路径")`来设置`WORKDIR`的值,这样Log4j就会将日志文件输出到指定的路径下。在JSP中,你可以通过`pageContext.getServletContext()....

    log4j各个版本

    1. Log4j 1.2.6:这是Log4j的一个较早版本,提供了基本的日志记录功能,包括定义不同级别的日志(如DEBUG、INFO、WARN、ERROR和FATAL),以及通过配置文件自定义日志输出格式和目的地(如控制台、文件、SMTP等)。...

    log4j tomcat日志jar包 tomcat-juli-adapters,log4j-1.2.15.jar,tomcat-juli.jar

    1. 将`log4j-1.2.15.jar`和`tomcat-juli-adapters.jar`添加到Tomcat的`lib`目录下,确保Tomcat可以访问这两个库。 2. 配置Log4j:创建一个`log4j.properties`或`log4j.xml`配置文件,指定日志输出的位置、格式和级别...

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

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

    log4j2所需jar包

    这个压缩包包含的两个关键文件——`log4j-api-2.11.1.jar`和`log4j-core-2.11.1.jar`是Log4j2框架的核心组件。 1. **log4j-api-2.11.1.jar**:这个文件提供了Log4j2的API接口。开发者主要通过这些接口来与Log4j2...

    mybatis整合log4j

    配置文件`log4j.xml`中的内容展示了如何定义日志输出的方式。这里有两个appender,一个`CONSOLE`用于控制台输出,另一个`FILE`用于将日志记录到文件。`CONSOLE`使用`ConsoleAppender`,而`FILE`使用`...

    log4j实例,log4j-1.2.9.jar

    在标题“log4j实例,log4j-1.2.9.jar”中,我们看到的是Log4j的一个具体版本——1.2.9。这个版本虽然相对较旧,但它仍然是许多现有项目的基础,因为它稳定且功能齐全。 **1. Log4j的核心组件** Log4j由三个主要...

    这个是开源的log4j支持包

    Appender是Log4j的输出目标,如ConsoleAppender将日志输出到控制台,FileAppender则写入文件。开发者可以通过配置文件选择和配置多个Appender,实现日志的多渠道输出。 7. **性能和可扩展性** 由于其高度的可配置...

    log4j-1.2.16

    在Log4j中,通常通过配置文件(如log4j.properties或log4j.xml)来设定日志行为。配置文件中可以定义Loggers、Appenders、Levels和Layouts。例如: ```properties # 配置控制台输出 log4j.appender.stdout=org....

    log4j日志文件配置

    本篇将详细介绍如何配置log4j日志文件,特别是在JSP项目中的应用。 首先,我们要理解日志的级别。Log4j支持多个日志级别,包括DEBUG、INFO、WARN、ERROR和FATAL。这些级别按照严重程度递增,DEBUG是最详细的信息,...

    log4j配置与使用方法

    - 将log4j.properties文件放置在项目的`bin/`目录下,并通过相对路径或者系统资源的方式加载配置文件。 - 如果文件放置在`bin/`目录下的更深层次子目录中,则需要确保路径正确无误。 #### 三、log4j格式详解 - *...

    log4j之基本配置

    ### Log4j基本配置详解 #### 一、Log4j简介 Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件还是其他地方,还可以控制每一条日志的输出格式;通过定义每一条日志信息...

    log4j手册reference文档

    - **易于上手:** 尽管功能强大,但log4j的使用相对简单,适合快速集成到现有项目中。 - **审计工具:** log4j不仅可以用于开发过程中的调试,还可以作为审计工具记录系统运行状态。 #### 三、Log4j的三大核心组件 ...

Global site tag (gtag.js) - Google Analytics