`

log4j的MDC,DNC配置以及应用

 
阅读更多

一、背景

人在IT江湖,免不了要排查BUG,查线上服务器日志,可浩如烟海的日志里面,如果没有一个唯一Key将同一个线程打印的日志串联起来,那可大大不妙。如何做到这一点呢。我们的主角,log4j的MDC,NDC出来了

 

二、实现思路以及关键代码

1、用拦截器或者filter将所有代码的入口拦截住,且在拦截器的里面,业务方法执行之前,写如下代码:

 

// 日志增加唯一标识
long startTime = SystemTimer.currentTimeMillis();
NDC.push(startTime + "_" + Thread.currentThread().getId());

 

 

    在拦截器的业务方法执行完毕之后,写如下代码:

    

// 释放内存,清除标记
NDC.pop();
NDC.remove();
NDC.clear();

 

 

2、log4j.xml配置

   ConversionPattern之前新增 [%x]

 

   例如:[1393425548560_1][2014-02-26 22:39:22  WARN com.qunar.fax.biz.send.SendFaxBizImpl:96] 生成tif文件内容为空!

 

分享到:
评论

相关推荐

    LOG4J2 mdc配置

    LOG4J2的生产环境配置配置案例: 4.日志滚动,避免单个日志过大,可以按小时进行日志分割. <RollingFile name="RollingFile" fileName="logs/app.log" filePattern="logs/app-%d{MM-dd-yyyy}.log.gz" ignoreExceptions=...

    log4j日志配置以及配置文件详解

    Log4j作为Java领域广泛应用的日志框架,提供了强大的日志记录功能和灵活的配置。本文将深入探讨log4j的配置以及配置文件的详解。** 首先,我们要理解什么是`log4j.properties`文件。这是log4j框架的配置文件,使用...

    log4j2的配置文件完整版

    Log4j2是一款广泛使用的日志记录框架,它在Java应用程序中扮演着至关重要的角色,提供了灵活的日志配置和高性能的日志处理能力。这个“log4j2的配置文件完整版”应该包含了Log4j2所有可能的配置选项,允许开发者精细...

    log4j简单使用

    - `log4j.properties`: 这是Log4j的配置文件,用于定义日志记录的行为,如日志级别(DEBUG、INFO、WARN、ERROR、FATAL)、输出目的地(控制台、文件、网络等)以及布局格式。 **Log4j关键知识点** 1. **日志级别**...

    Log4J完整说明和配置

    以上配置覆盖了Log4J常用的几种Appender类型及其配置参数,能够满足大多数应用场景的需求。开发者可以根据实际需求调整各个Appender的配置,以实现更加精细化的日志管理。此外,Log4J还提供了丰富的扩展机制,如MDC...

    java-日志-log4j.7z

    在Eclipse中使用Log4j,需要在项目的类路径中包含Log4j的jar文件,并创建一个配置文件(通常是log4j.properties或log4j.xml)。配置文件定义了Loggers、Appenders和Layouts,以及它们之间的关联。例如,你可以设置一...

    log4j配置

    此外,Log4j还有许多高级特性,如异步日志、MDC(Mapped Diagnostic Context)用于跟踪请求,以及NDC(Nested Diagnostic Context)用于多线程环境下的日志隔离。 在工具有关的部分,有许多IDE和插件支持Log4j的...

    log4j-API-最新稳定版本log4j-1.2.17

    6. **配置文件**:Log4j通常通过配置文件(如log4j.properties或log4j.xml)来设置其行为,包括定义日志器、appender和layout。 7. **MDC(Mapped Diagnostic Context)和NDC(Nested Diagnostic Context)**:这两...

    log4j2所需jar包和log4j2的详细配置

    本文将深入探讨Log4j2的核心概念、配置方法以及所需jar包。 **一、Log4j2核心组件** 1. **Logger**: 日志的生成者,用于记录应用程序中的事件。 2. **Appender**: 日志输出的目标,例如控制台、文件、数据库等。 3...

    Log4j配置资料大全

    Log4j配置资料大全包含了一系列关于如何有效地使用和配置Log4j的资源,以下将详细介绍Log4j的关键知识点。 1. **Log4j的基本组件** - **Logger**: 日志记录器,负责生成日志事件。你可以根据需要创建多个logger,...

    log4j jarjar包

    在Java项目中,引入log4j-1.2.16.jar这个jar包后,我们首先需要配置log4j的属性文件(通常为log4j.properties或log4j.xml)。配置文件中,我们可以设定日志器的级别、Appender类型及输出格式等。 例如,以下是一个...

    log4j多个简单实例

    实际应用中,你可能需要结合项目需求进一步配置和扩展Log4j。例如,使用`log4jDemo.rar`中的示例代码,你可以实践Log4j的配置和日志记录。同时,`log4j.xml`文件可以提供更高级的配置示例,如自定义Appender和过滤器...

    log4j-core-2.7.zip

    1. **配置文件**:`log4j2.xml`或`log4j2.json`是Log4j2的配置文件,可以设置全局日志级别、定义Appenders(日志输出目标)如控制台、文件、数据库等,Filters(过滤器)来决定哪些日志会被记录,以及Layouts(布局...

    apache-log4j-2.4.1-bin.zip

    Apache Log4j 2是Java世界中广泛使用的日志记录框架之一...在实际项目中,你可以根据“apache-log4j-2.4.1-bin.zip”中的内容进行安装和配置,快速地将Log4j 2集成到你的Java应用程序中,享受它带来的便利和性能提升。

    apache-log4j-2.0-rc1-src

    2. **配置文件**:Log4j使用配置文件(如log4j2.xml或log4j2.json)来定义日志输出的位置、格式和级别。这些配置可以动态更新,无需重启应用。 3. **Appenders**:Appenders是Log4j用来输出日志信息的组件,例如...

    log4j-2.11.1.jar

    总结起来,Apache Log4j 2.11.1 作为Java日志框架的重要版本,提供了一整套强大、灵活的日志解决方案,包括丰富的配置选项、高效的性能以及安全特性。对于开发者来说,熟练掌握和利用Log4j 可以极大地提升日志管理的...

    log4j-slf4j-impl.zip

    5. **MDC与NDC**:Log4j-SLF4J-Impl支持Mapped Diagnostic Context (MDC) 和Nested Diagnostic Context (NDC),为日志信息添加上下文信息,有助于追踪和诊断问题。 四、集成与使用 集成Log4j-SLF4J-Impl通常涉及...

    log4j配置详解与使用方法说明

    Log4j 的配置主要通过 `log4j.properties` 或 `log4j.xml` 文件完成,这里我们以 `log4j.properties` 文件为例进行说明。 1. **配置Appender** - **Console Appender**:将日志输出到控制台。 ```properties log...

    log4j2 -2.11.1.zip

    在本篇中,我们将深入探讨Log4j2的核心特性、其API与Core组件的功能,以及如何在实际项目中应用这些文件。 Log4j2是一个继Log4j之后的日志系统,旨在提供更高效的性能、丰富的日志配置选项和动态日志管理。2.11.1...

    log4j生成带时间戳的日志文件(包括extras包以及简单demo)

    总结来说,Log4j是一个强大的日志框架,通过使用extras包和适当的配置,我们可以方便地生成带有时间戳的日志文件,进行日志级别的控制,以及有效地管理日志文件的大小。在实际项目中,熟练掌握Log4j的使用对于提高...

Global site tag (gtag.js) - Google Analytics