`
岁月如歌
  • 浏览: 106447 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

log4j日志处理

    博客分类:
  • java
阅读更多

1.log4j与Jakarta Commons Logging基础

  请自行google,不重复。

 2.Spring对Log4j的增强

 spring对可以有如下的cream:
   1. 动态的改变记录级别和策略,不需要重启Web应用,如《Effective Enterprise Java》所说。

  (其实,spring是把这delegate给log4j PropertyConfigurator的configureAndWatch,多开一条线程来完成的。)

2. 把log文件定在 webapp相关的路径,如/WEB-INF/logs/ 而不需要写绝对路径。

3. 可以把log4j.properties放在/WEB-INF/ ,而不是Class-Path。

具体配置见web.xml里面的相关部分,主要是靠spring的Log4jConfigListener完成.

但这些扩展对不同的容器和部署方式可能会有影响,请自行裁减。

3.默认写入操作员ID

    比如在一个ServletFilter里实现如下代码 

      Customer customer = (Customer) session.getAttribute("customer");
      MDC.put("userid", 
 customer.getLoginid());

   则log4j会线程安全的把cusomer id 写入MDC的userId变量中,而userID变量的使用见下。

   springside里面实现了此filter的基类,filter子类只需实现userid String的获取即可。见BaseLog4JUserFilter.java和Log4JUserFilter.java

4. 异步写入数据库

把重要的log写入数据库,使其具备查询过滤的能力。同时为了不影响程序的运行速度,一般采用异步写入的形式。

log4j.appender.db=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.db.BufferSize=20
log4j.appender.db.URL=jdbc:hsqldb:hsql://localhost:9002/bookstore
log4j.appender.db.driver=org.hsqldb.jdbcDriver
log4j.appender.db.user=sa
log4j.appender.db.password=
log4j.appender.db.sql=INSERT INTO LOG4J_LOG (LOGINID,PRIORITY,LOGDATE,CLASS,METHOD,MSG) VALUES('%X{userId}','%p','%d{yyyy-MM-dd HH:mm:ss}','%C','%M','%m')

     在数据库中建立任意的log表, 通过sql属性指定表名和列名, 而BufferSize=100可以达到异步写入的效果。

分享到:
评论

相关推荐

    Log4j日志处理包

    Log4j是Java编程语言中广泛使用的...总的来说,Log4j作为Java日志处理的首选工具,提供了强大的日志管理能力,帮助开发者更好地理解和控制他们的应用程序。通过合理的配置和使用,可以极大地提升开发效率和系统稳定性。

    log4j日志报错解决办法

    总的来说,处理Log4j的初始化警告,关键在于正确配置和引入Log4j依赖,以及在需要使用日志的地方正确初始化logger。确保配置文件可用且路径正确,以及在代码中正确调用logger,通常可以消除这些警告。

    Log4j日志配置说明,Log4j日志配置说明

    ### Log4j日志配置详解 #### 一、概述 Log4j 是一个基于 Java 的开源日志记录框架,由 Apache 软件基金会维护。它允许开发人员根据等级记录日志信息,使得用户能够控制日志信息的记录级别及去向。本文将通过一份...

    log4j自定义日志文件名及日志输出格式

    在Java开发中,日志记录是一项至关重要的任务,它帮助我们追踪程序运行状态,定位问题,以及进行性能...在项目中使用自定义的日志处理方式,能够极大地提高日志的管理和分析效率,为问题排查和性能优化提供有力支持。

    log4j 日志打印

    《深入理解Log4j日志打印》 在Java开发领域,日志打印是不可或缺的一环,它对于系统调试、性能监控、故障排查等都起着至关重要的作用。Log4j作为Java中最常用的日志框架之一,深受广大开发者喜爱。本文将深入探讨...

    log4j日志jar包

    《深入理解Log4j日志框架》 在Java开发领域,日志系统是不可或缺的工具,它用于记录程序运行过程中的各种信息,帮助开发者在问题出现时定位和解决问题。Log4j作为Apache软件基金会的一个开源项目,是Java世界中最...

    log4j日志文件乱码解决方法

    本文将详细讨论如何解决Log4j日志文件出现的乱码问题。 首先,我们要理解Log4j的工作原理。Log4j允许开发者自定义日志输出的方式,包括输出到控制台、文件、数据库等。它使用了`QuietWriter`类来写入日志,`...

    使用log4j2实现日志数据脱敏

    在Log4j2中,可以通过实现Filter接口创建自定义过滤器,用于在日志事件被记录之前进行处理。在这个过滤器中,我们可以识别并替换敏感信息。例如,识别到用户名字段,可以将其替换为“[MASKED]”。 3. **配置过滤器...

    无法打出log4j日志的问题排查

    当我们遇到“无法打出log4j日志的问题”,这通常是由于配置、环境或代码实现中的某些错误导致的。这篇长文将深入探讨如何排查和解决这类问题。 首先,我们要理解Log4j的基本工作原理。Log4j通过配置文件(通常是log...

    log4j日志写入数据库实例

    在“log4j日志写入数据库实例”中,我们将关注如何配置Log4j将日志信息存储到数据库中,以便于后期分析和检索。 要实现这个功能,我们需要创建一个Appender,该Appender能够与数据库进行交互。通常,我们会使用...

    动态设置log4j的日志级别

    要实现动态设置Log4j日志级别,通常有以下几种方法: 1. **通过配置文件**:最常见的方式是通过修改log4j.properties或log4j.xml配置文件。例如,你可以将某个类或整个包的日志级别设置为WARN: ```xml ```...

    log4j2.xml记录日志到到数据库

    Log4j2是一款广泛使用的日志框架,它提供了灵活且高效的日志记录功能。本示例将详细介绍如何配置并使用Log4j2将日志信息记录到MySQL数据库中。 首先,我们要理解Log4j2的核心概念。Log4j2主要包括以下几个组件: 1...

    Log4J日志代码

    在"Log4J日志代码"这个主题中,我们将深入探讨Log4J的核心概念、配置以及如何在Java项目中使用。 1. **核心组件**: - **Logger**: 是日志记录的主要接口,通过它来创建和发送日志消息。开发者可以根据类名或模块...

    示范如何在android工程中使用log4j记录日志

    Log4j是一个广泛使用的Java日志框架,它提供了强大的日志处理功能,包括日志级别控制、自定义日志格式、多路复用等。然而,由于Android系统对第三方库的限制,直接在Android工程中使用Log4j需要一些额外的步骤。本文...

    Log4j日志文档和Log4j包

    Log4j是Apache组织开发的一款强大的Java日志框架,它为开发者提供了灵活的日志记录功能。在Java应用程序中,日志...通过阅读提供的Log4j日志文档和使用包中的示例,你可以深入了解如何配置和利用这个强大的日志工具。

    log4j删除前N天日志

    通过阅读和分析这些代码,你可以更深入地理解Log4j的使用方法,以及DailyRollingFileAppender如何处理日志文件的滚动和删除。 总之,Log4j的DailyRollingFileAppender结合`maxBackupIndex`参数,可以很好地满足对...

    Log4j2简介及与Log4j效率对比

    - **异步日志处理**:Log4j2通过其异步日志处理机制,能够显著减少日志记录对应用性能的影响。特别是在高并发场景下,这种优势更为明显。 - **内存占用**:Log4j2在内存使用方面也表现出色,尤其是在开启异步模式...

    Log4j2异步写日志效率测试源码

    Log4j2是一款广泛使用的Java日志框架,它提供了丰富的日志记录功能和高度的可配置性。在大型系统中,日志记录是至关重要的,因为它可以帮助开发者追踪系统行为、定位错误以及进行性能分析。而Log4j2的一个显著特性是...

    Log4j日志管理

    此外,随着Java社区的发展,Log4j也经历了多次版本更新,最新的Log4j 2.x引入了更多新特性,如异步日志处理、更灵活的配置语法和强大的日志分析能力。 总之,Log4j作为一款强大的日志工具,为企业级应用提供了一套...

    log4j日志框架

    通过以上介绍,我们可以看出Log4j日志框架在Java开发中的重要地位,它不仅简化了日志处理,还为故障排查、性能分析和系统监控提供了有力支持。正确使用和配置Log4j,将有助于提升软件质量和维护效率。

Global site tag (gtag.js) - Google Analytics