`
jaesonchen
  • 浏览: 309817 次
  • 来自: ...
社区版块
存档分类
最新评论

Log4j 日志文件存放位置设置

 
阅读更多

以DailyRollingFileAppender 为例:假设每天一个日志文件

有以下设置:

log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender 

log4j.appender.A1.File=app.log

log4j.appender.A1.DatePattern='.'yyyy-MM-dd

log4j.appender.A1.layout=org.apache.log4j.PatternLayout

log4j.appender.A1.layout.ConversionPattern=%d %5p - %c -%-4r [%t]    - %m%n

经过自己测试,无法找到app.log文件  

如要将日志文件保存在 :根目录/web-info/logs/下,个人有以下4种解决方案

1 绝对路径

log4j.appender.A1.File=D:\apache-tomcat-6.0.18/webapps/项目/WEB-INF/logs/app.log

但这种写法灵活性很差

 

以下3中使用相同的设置原理: jvm的环境变量

2:spring的Log4jConfigListener

通过以下配置

Xml代码  收藏代码
  1. <context-param>  
  2.     <param-name>webAppRootKey</param-name>  
  3.     <param-value>webApp.root</param-value>  
  4.   </context-param>  
  5.  <context-param>  
  6.   <param-name>log4jConfigLocation</param-name>  
  7.     <param-value>classpath:log4j.properties</param-value>  
  8.  </context-param>  
  9. <listener>    
  10.      <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>    
  11.  </listener>  

 

log4j.appender.logfile.File=${webApp.root}/WEB-INF/logs/app.log

备注:

1、spring配置变了webAppRootKey是不能变的,值可以随意写。

2、log文件存放在tomcat工程目录/webapp(工程名称)/WEB-INF/logs/app.log文件。

 

2:使用已有jvm变量:

例如:

log4j.appender.logfile.File=${user.home}/logs/app.log

日志将位于:例如windows:C:\Documents and Settings\joe\logs\app.log

 

3 自己设置目录,也就是在项目启动时通过System.setProperty设置,通过实现ServletContextListener来解决:例如

Java代码  收藏代码
  1. public class log4jlistener implements ServletContextListener {  
  2.     public static final String log4jdirkey = "log4jdir";  
  3.     public void contextDestroyed(ServletContextEvent servletcontextevent) {  
  4.         System.getProperties().remove(log4jdirkey);  
  5.     }  
  6.     public void contextInitialized(ServletContextEvent servletcontextevent) {  
  7.     String log4jdir = servletcontextevent.getServletContext().getRealPath("/");  
  8.     //System.out.println("log4jdir:"+log4jdir);  
  9.     System.setProperty(log4jdirkey, log4jdir);  
  10.     }  
  11. }  

 

web.xml配置:

Java代码  收藏代码
  1. <listener>  
  2.     <listener-class>com.log4j.log4jlistener</listener-class>  
  3. </listener>  

 

log4j.prtperties 配置:

log4j.appender.A1.File=${log4jdir}/WEB-INF/logs/app1.log 来解决。

分享到:
评论

相关推荐

    详解Log4j 日志文件存放位置设置

    通过合理配置Log4j的日志文件存放位置,可以有效地管理日志信息,便于问题定位和系统监控。 需要注意的是,在配置日志文件存放位置的时候,需要考虑到安全性和日志文件的管理策略,避免日志文件过大导致磁盘空间...

    SSM整合中的Log4j日志的配置详情

    在 SSM 整合项目中,需要在 web.xml 文件中指定 Log4j 配置文件的位置,以便 Spring 可以加载 Log4j 配置文件。下面是一个基本的 web.xml 配置: ``` &lt;listener-class&gt;org.springframework.web.util.Log4...

    log4j 写多个日志文件,按照日期每天都记

    本文将深入探讨如何利用`log4j`实现按照日期每天写入不同日志文件的功能,以及涉及到的相关知识点。 首先,我们要理解`log4j.properties`配置文件的作用。它是`log4j`的配置中心,通过这个文件我们可以定制日志输出...

    Log4j 日志文件Linux/Mac/Windows通用存放位置设置方法

    在不同的操作系统如 Linux、Mac 和 Windows 上,设置 Log4j 的日志文件存放位置是非常重要的,因为它可以帮助我们更好地组织和查找日志信息。下面我们将详细介绍如何设置这些系统的通用存放位置。 首先,我们需要...

    配置Log4j的详细最好的日志工具

    Log4j的核心配置主要包括记录器(Logger)、存放器(Appender)和布局(Layout)。通过这些配置,我们可以自定义日志的级别、输出方式及格式等细节。 ##### 2.1 记录器(Logger) 记录器负责定义日志信息的级别。...

    教你更简单的使用log4j日志

    ### 教你更简单的使用log4j日志 在日常的软件开发过程中,日志记录是必不可少的一个环节,它能够帮助我们追踪程序运行时的状态、定位问题所在,并且为后期维护提供重要的参考依据。Log4j作为Apache组织下的一个开源...

    log4j2-所需jar包+配置详解(详细)

    关于配置文件的名称以及在项目中的存放位置  log4j 2.x版本不再支持像1.x中的.properties后缀的文件配置方式,2.x版本配置文件后缀名只能为".xml",".json"或者".jsn".  系统选择配置文件的优先级(从先到后)如下...

    Log4j.properties详细说明

    * `org.apache.log4j.DailyRollingFileAppender`:每天产生一个日志文件 * `org.apache.log4j.RollingFileAppender`:文件大小到达指定尺寸的时候产生一个新的文件 * `org.apache.log4j.WriterAppender`:将日志信息...

    SSH框架中配置log4j的方法

    3. **统一的配置文件管理**:`log4j.properties`文件可以与其他配置文件一起存放在`/WEB-INF/`目录下,避免了因配置文件存放位置不当而导致的问题。 #### 三、配置Log4j的具体步骤 接下来,我们将详细介绍如何在...

    log4j目录存放之内置引用

    Log4j的设计目标是提供一个灵活且可扩展的系统,允许开发者通过配置文件调整日志输出格式、存储位置以及处理方式。 二、Log4j配置文件——log4j.properties `log4j.properties`是Log4j的配置文件,通常放置在项目...

    log4j使用配置方法及项目中的应用

    Log4j的配置主要通过属性文件完成,通常命名为`log4j.properties`,存放在项目的`classes`目录下。 ##### 属性文件结构与内容 - **日志级别设定**:Log4j支持自定义日志的最低输出级别,如`log4j.rootLogger=INFO`...

    使用log4cplus实现的分目录存放日志服务器完整工程

    本工程即基于`log4cplus`,实现了将日志文件按照特定规则分目录存储的功能。 **1. log4cplus介绍** `log4cplus`是一个轻量级的日志框架,它提供了一套API,使得开发者可以方便地在代码中插入日志语句,同时控制日志...

    apache-log4j-2.14.1-bin.zip

    - `lib/`:存放Log4j的库文件(JARs),这些库文件是Log4j的核心组件和其他依赖库。 - `docs/`:包含文档,如API参考、用户指南等,帮助开发者理解和使用Log4j。 - `conf/`:可能包含示例配置文件,如`log4j2.xml`或...

    log4j 在web中的应用

    - 通过修改log4j.properties文件即可实现在运行时调整日志级别和策略的功能,而无需重启Web应用。 - 这种功能的实现依赖于Spring框架的支持,具体做法是在`web.xml`文件中指定log4j配置文件的位置: ```xml ...

    apache-log4j-2.1

    使用Log4j 2.1时,你需要在项目中引入这些库,并创建合适的配置文件来指定日志级别、输出格式、目标位置等。同时,通过在代码中调用`Logger`类的方法,如`Logger.info()`、`Logger.error()`,就可以记录日志信息了。...

    日志管理--Log4J简明教程

    - 除了基本的日志级别控制外,Log4J还允许使用Filter来进一步过滤日志信息,以及使用TriggeringPolicy和RollingPolicy来控制日志文件的滚动和清理策略。 7. **性能优化**: - 为了提高性能,Log4J允许在运行时...

    log4j 例子全包括FileWatchdog

    `FileWatchdog`是`log4j`中的一个特殊类,用于监控日志文件的变化,当检测到日志文件达到预设的大小时,会自动滚动日志,确保日志系统不会因为单个文件过大而停止工作。 **标签:“源码 工具”** 这里的“源码”...

    Kettle运行日志记录

    6. **插件支持**:Kettle支持第三方日志框架,如log4j,允许更灵活的日志管理和配置。 学习这些日志记录知识可以帮助我们更好地管理和优化Kettle的工作流程,及时发现并解决问题。通过分析日志,我们可以了解Job和...

Global site tag (gtag.js) - Google Analytics