`

log4j高级技巧--动态配置日志输出文件的位置

阅读更多

                               log4j高级技巧--动态配置日志输出文件的位置

    log4j的通常用法就是通过在其配置文件(xml或properties)中直接将输出文件写死,在很多情况下,这样做是非常简单而又有效的。但这样做的缺点是,如果想让这个web应用运行起来,必须要修改log4j的配置文件。比如struts2.x中log4j的配置,每个人都得按照自己的路径进行配置。这无疑增加了配置的复杂性。因此,在某些情况下,我们更希望日志文件默认就输出到web应用的某个目录里,比如如果想输出日志到webroot/logs/log.log中,这该如何实现呢?

    在配置文件中(我是在properties文件中使用的,xml我未测试,理论上一样)使用${user.dir}类似的方式,这里变量必须是System.getPropertities里的变量。而我们则就是要利用这一点。首先在一个Listener里或高优先级、自启动的Servlet里获得应用的发布目录,这是很容易得到的,比如String home = servletContext.getRealPath("/");然后调用System.setPropertity("web_home",home),“web_home”名字可以随意。则log4j.properties里的配置为:log4j.appender.TRACE.File=${web_home}/logs/log.log.则日志会输出到web应用发布目录里的logs目录里。

分享到:
评论
8 楼 DavyLee 2011-10-31  
lixjluck 写道
http://lixjluck.iteye.com/blog/711895

已拜读,过于麻烦!最近不小心又发现了更简单的方法!嘿嘿
7 楼 crazy01wind 2010-08-24  
log4j不同级别日志分不同文件记录

http://www.iteye.com/topic/744693
6 楼 crazy01wind 2010-08-13  
有没有更高级的技术呀,曾经面试时被问到,info,warn,error等不同的级别信息分别保存到不到同的文件
5 楼 满月无双 2010-08-12  
以前就想知道这怎么配,今天才看到可以这样配置。十分感谢!!!
4 楼 SpreadDiaries 2010-08-12  
还以为怎么高级了。。。
3 楼 RoyMax 2010-08-12  
基本技巧。。。
2 楼 lixjluck 2010-08-12  
http://lixjluck.iteye.com/blog/711895
1 楼 fly2never 2010-08-12  
不错,真好需要在一个项目中解决

相关推荐

    log4j配置与使用方法

    - `log4j.appender`用来配置日志的输出方式,可以输出到控制台、文件等。 - 示例中的`ServerDailyRollingFile`是一个每天滚动的日志文件输出器,通过`DatePattern`属性配置日志文件的滚动规则。 - **转换模式**:...

    log4j使用方法及简单配置

    这篇文档将详细介绍Log4j的使用方法和配置,帮助你掌握如何有效地管理和控制日志输出。 首先,了解日志的重要性是至关重要的。日志可以帮助开发者追踪程序运行状态,定位错误,以及进行性能分析。相比于直接使用`...

    log4j中文手册.pdf

    在Java项目中,通常会有一个名为log4j.properties或log4j.xml的配置文件,这里可以定义log4j的行为。例如,你可以指定哪些类或包的日志级别,决定哪些信息会被记录;也可以设置appender的具体实现,如FileAppender将...

    log4j学习资料 java日志必用

    **1.2 配置日志输出目的地** Log4j允许将日志信息输出至不同的目的地,常见的配置有: - **ConsoleAppender**:将日志信息输出至控制台。 - **FileAppender**:将日志信息输出至指定的文件。 - **...

    The Complete Log4j Manual

    通常,一本完整的手册会包括以下几个部分:介绍Log4j的基础知识、详细说明如何配置和使用Log4j、示例和最佳实践、高级配置技巧、性能优化建议、以及Log4j的二次开发等方面内容。读者可以根据个人需要,找到对应章节...

    log4j配置详解总结资料

    `Log4j的使用总结.htm`、`log4j常用配置过程.htm`和`Log4j比较完整的配置.htm`等内容可能涵盖了Log4j的使用经验、常见配置步骤以及高级配置技巧,如自定义Appender、过滤器等。 **全面理解** `LOG4J配置全接触....

    log4j(实例代码+文档)

    2. **配置文件**: Log4j的核心在于其配置文件(通常是log4j.properties或log4j.xml),通过配置文件可以指定日志输出的位置、格式、级别等信息。 3. **Appenders**: Appenders是Log4j用于输出日志的目的地,如...

    Pro Apache Log4j second edition

    通过以上内容可以看出,《Pro Apache Log4j 第二版》是一本非常详尽且实用的指南,不仅介绍了Apache Log4j的基本原理和配置方法,还涉及了大量高级特性和实战技巧,非常适合希望深入了解并运用Log4j进行高效日志记录...

    log4j The Complete Manual (2002)

    ### log4j完整手册知识点概览 #### 一、log4j简介与重要性 ...通过以上内容的学习,读者不仅能够全面了解log4j的基本概念和使用方法,还能掌握一些高级技巧,从而更好地在实际项目中应用log4j进行日志管理。

    Pro Apache Log4j Second Edition .pdf

    《Pro Apache Log4j 第二版》是由Samudra Gupta编写的权威指南,全面介绍了Apache Log4j的使用方法和高级技巧。本书旨在帮助开发者深入了解Log4j的工作原理,并学会如何有效地利用它来提高应用程序的可维护性和性能...

    Log4j学习资料大全

    "log4j配置.txt"提供了一份Log4j的配置示例,展示了如何配置日志级别、指定日志输出目的地、定义日志格式等内容。配置文件的语法非常重要,因为它直接影响到日志的生成和管理。例如,`<appender>`标签用于定义一个...

    Android-可保持线程日志统一输出多线程不混乱

    7. **日志框架**:使用如Logback、Log4j等更强大的日志框架,它们提供了更多的配置选项和插件支持,能更好地适应复杂的多线程环境。 8. **日志级别控制**:根据调试需求,调整不同线程的日志级别,比如在生产环境中...

    轻松入门log4j 轻松搞定

    相较于传统的`System.out.println()`或`System.out.print()`方法,Log4J 提供了更为高级的功能,如多级别的日志记录(例如DEBUG, INFO, WARN, ERROR, FATAL),以及灵活的日志输出方式,包括控制台、文件、网络等。...

    log4j.properties

    总结,`log4j.properties`文件是Log4j的核心配置,通过熟练掌握其配置规则和技巧,我们能够构建出满足各种需求的日志管理系统。正确配置并合理利用日志,不仅能提升开发效率,还能为软件的维护和故障排查提供强大...

    log4j资源文件 含帮助文档

    2. **配置Log4j**:创建一个`log4j.properties`或`log4j.xml`文件,配置日志级别、appender和layout。 3. **创建Logger实例**:在需要记录日志的类中获取Logger实例,一般使用类名作为logger的名字。 4. **记录...

    收藏Log4j文档

    《Log4j完全手册》是Java...总之,《Log4j The Complete Manual》是学习和使用Log4j的宝贵资源,它涵盖了Log4j的所有核心概念、配置方法、使用技巧以及高级功能,无论你是初学者还是经验丰富的开发者,都能从中受益。

    log4j入门到详解

    **Log4j 入门与详解** Log4j 是 Apache 提供的一款开源的日志记录工具,主要用于...通过深入学习《log4j入门到详解》这份资料,你可以全面了解Log4j的各个方面,从基础用法到高级技巧,一步步提升你的日志管理技能。

    idea 14 ssm 全注解框架+log4j+事物控制+mybatis基础Dao配置

    通过配置log4j.properties或log4j.xml文件,我们可以设置日志级别(DEBUG、INFO、WARN、ERROR等),选择日志输出目的地(控制台、文件、邮件等),并自定义日志格式。 事务控制在数据库操作中至关重要,确保数据的...

    log4j的使用(源码)

    - **Logger**: 日志记录器是Log4j的核心组件,负责实际的日志输出。它可以根据预定义的级别(如DEBUG, INFO, WARN, ERROR, FATAL)来决定是否记录某个事件。 - **Appender**: Appender负责将日志信息输出到指定的...

Global site tag (gtag.js) - Google Analytics