一、背景
人在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的生产环境配置配置案例: 4.日志滚动,避免单个日志过大,可以按小时进行日志分割. <RollingFile name="RollingFile" fileName="logs/app.log" filePattern="logs/app-%d{MM-dd-yyyy}.log.gz" ignoreExceptions=...
Log4j作为Java领域广泛应用的日志框架,提供了强大的日志记录功能和灵活的配置。本文将深入探讨log4j的配置以及配置文件的详解。** 首先,我们要理解什么是`log4j.properties`文件。这是log4j框架的配置文件,使用...
Log4j2是一款广泛使用的日志记录框架,它在Java应用程序中扮演着至关重要的角色,提供了灵活的日志配置和高性能的日志处理能力。这个“log4j2的配置文件完整版”应该包含了Log4j2所有可能的配置选项,允许开发者精细...
- `log4j.properties`: 这是Log4j的配置文件,用于定义日志记录的行为,如日志级别(DEBUG、INFO、WARN、ERROR、FATAL)、输出目的地(控制台、文件、网络等)以及布局格式。 **Log4j关键知识点** 1. **日志级别**...
以上配置覆盖了Log4J常用的几种Appender类型及其配置参数,能够满足大多数应用场景的需求。开发者可以根据实际需求调整各个Appender的配置,以实现更加精细化的日志管理。此外,Log4J还提供了丰富的扩展机制,如MDC...
在Eclipse中使用Log4j,需要在项目的类路径中包含Log4j的jar文件,并创建一个配置文件(通常是log4j.properties或log4j.xml)。配置文件定义了Loggers、Appenders和Layouts,以及它们之间的关联。例如,你可以设置一...
此外,Log4j还有许多高级特性,如异步日志、MDC(Mapped Diagnostic Context)用于跟踪请求,以及NDC(Nested Diagnostic Context)用于多线程环境下的日志隔离。 在工具有关的部分,有许多IDE和插件支持Log4j的...
6. **配置文件**:Log4j通常通过配置文件(如log4j.properties或log4j.xml)来设置其行为,包括定义日志器、appender和layout。 7. **MDC(Mapped Diagnostic Context)和NDC(Nested Diagnostic Context)**:这两...
本文将深入探讨Log4j2的核心概念、配置方法以及所需jar包。 **一、Log4j2核心组件** 1. **Logger**: 日志的生成者,用于记录应用程序中的事件。 2. **Appender**: 日志输出的目标,例如控制台、文件、数据库等。 3...
Log4j配置资料大全包含了一系列关于如何有效地使用和配置Log4j的资源,以下将详细介绍Log4j的关键知识点。 1. **Log4j的基本组件** - **Logger**: 日志记录器,负责生成日志事件。你可以根据需要创建多个logger,...
在Java项目中,引入log4j-1.2.16.jar这个jar包后,我们首先需要配置log4j的属性文件(通常为log4j.properties或log4j.xml)。配置文件中,我们可以设定日志器的级别、Appender类型及输出格式等。 例如,以下是一个...
实际应用中,你可能需要结合项目需求进一步配置和扩展Log4j。例如,使用`log4jDemo.rar`中的示例代码,你可以实践Log4j的配置和日志记录。同时,`log4j.xml`文件可以提供更高级的配置示例,如自定义Appender和过滤器...
1. **配置文件**:`log4j2.xml`或`log4j2.json`是Log4j2的配置文件,可以设置全局日志级别、定义Appenders(日志输出目标)如控制台、文件、数据库等,Filters(过滤器)来决定哪些日志会被记录,以及Layouts(布局...
Apache Log4j 2是Java世界中广泛使用的日志记录框架之一...在实际项目中,你可以根据“apache-log4j-2.4.1-bin.zip”中的内容进行安装和配置,快速地将Log4j 2集成到你的Java应用程序中,享受它带来的便利和性能提升。
2. **配置文件**:Log4j使用配置文件(如log4j2.xml或log4j2.json)来定义日志输出的位置、格式和级别。这些配置可以动态更新,无需重启应用。 3. **Appenders**:Appenders是Log4j用来输出日志信息的组件,例如...
总结起来,Apache Log4j 2.11.1 作为Java日志框架的重要版本,提供了一整套强大、灵活的日志解决方案,包括丰富的配置选项、高效的性能以及安全特性。对于开发者来说,熟练掌握和利用Log4j 可以极大地提升日志管理的...
5. **MDC与NDC**:Log4j-SLF4J-Impl支持Mapped Diagnostic Context (MDC) 和Nested Diagnostic Context (NDC),为日志信息添加上下文信息,有助于追踪和诊断问题。 四、集成与使用 集成Log4j-SLF4J-Impl通常涉及...
Log4j 的配置主要通过 `log4j.properties` 或 `log4j.xml` 文件完成,这里我们以 `log4j.properties` 文件为例进行说明。 1. **配置Appender** - **Console Appender**:将日志输出到控制台。 ```properties log...
在本篇中,我们将深入探讨Log4j2的核心特性、其API与Core组件的功能,以及如何在实际项目中应用这些文件。 Log4j2是一个继Log4j之后的日志系统,旨在提供更高效的性能、丰富的日志配置选项和动态日志管理。2.11.1...
总结来说,Log4j是一个强大的日志框架,通过使用extras包和适当的配置,我们可以方便地生成带有时间戳的日志文件,进行日志级别的控制,以及有效地管理日志文件的大小。在实际项目中,熟练掌握Log4j的使用对于提高...