`
jessen163
  • 浏览: 464731 次
  • 性别: Icon_minigender_1
  • 来自: 潘多拉
社区版块
存档分类
最新评论

log4j知识点

    博客分类:
  • Util
阅读更多
1、Log4j.properties中至少有一个appender和一个logger。

2、log4j的初始化,通常我们需要把log4j.jar和Log4j.properties或者log4j.xml放入classpath,log4j默认会在classpath中寻找log4j的配置文件,当然我们也可以指定配置文件所在的位置。
比如:
set JAVA_OPTS=%JAVA_OPTS% -Dlog4j.configuration=
或者在程序中指定PropertyConfigurator.configure()(DOMConfigurator.configure()).

3、Log4j中有三个主要的组件,它们分别是Logger、Appender和Layout.
(1)Appender用来指明log信息打印到什么地方.
(2)Layout的作用是控制Log信息的输出方式.
(3)logger指定log的名字,打印级别和采用哪种或者哪几种Appender。

 

4、所有的logger都是继承于rootLogger,如果某个logger没有被分配level,那么它将从一个被分配了级别的、最接近它的父logger那里继承level。
     所有logger最顶层的父logger为rootLogger,所以在定义日志的时候通常我会给rootLogger赋予一个level。

5、log打印的规则:
        当某个logger的logging request(即printing method(error(),info()..))的级别高于或者等于该logger的级别(即在log4j.properties或者log4j.xml中定义)的时候,该logging request就为enable.
         一旦该logger的logging request为enable,那么该logging request将总会打印到该logger所有的appender中包括它的所有父logger的appender。(而不会管父logger的级别如何)。除非该logger的父logger的additivity设置为false,默认的情况下为true。
        某个logger的additivity设置为false,表示log只打印到本log的appender中,而不再打印到其父logger的appender。

6、最简单的log4j.properties定义
log4j.rootLogger=debug, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n

7、log4j是线程安全的,所以我们一般建议定义log时采用static
private static final Log log = LogFactory.getLog(Main.class);

8、性能优化:
推荐:
if (log.isDebugEnabled()) {
    log.debug("hello" + i + j);
}
而不是直接在程序中调用:
log.debug("hello" + i + j);
这样在logger打印条件不满足的情况下就不用执行字符串的操作。

9、实际开发过程中,我们通常会使用Jakarta Commons Logging (JCL),它提供的是一个日志(Log)接口(interface),允许程序开发人员使用不同的具体日志实现工具:Log4J, JDK 1.4等。
如果应用程序的classpath中有log4j, Commons Logging则使用相关的包装(wrapper)类(Log4JLogger)
如果应用程序运行在jdk1.4的系统中, Commons Logging使用相关的包装类(Jdk14Logger)
分享到:
评论

相关推荐

    spring mvc log4j

    **Spring MVC 集成 Log4j 知识点详解** Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它提供了模型-视图-控制器(MVC)架构模式来构建可维护、可扩展的Web应用。Log4j 是一个广泛使用的日志记录框架,它提供...

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

    **Log4j API知识点** 1. **日志级别**:Log4j API支持多个日志级别,如DEBUG、INFO、WARN、ERROR和FATAL。这些级别允许开发者根据需要过滤不同严重程度的消息。 2. **日志器(Logger)**:每个日志器代表一个特定...

    log4j简单使用

    **标题与描述解析** 标题"Log4j简单使用"表明我们即将探讨的是日志记录库Log4j的基础应用。...通过理解和熟练运用这些知识点,开发者可以有效地利用Log4j来监控和调试Java应用程序,提高问题定位的效率。

    log4j和log4j2日志应用文档.docx

    log4j和log4j2日志应用文档 Log4j是一种广泛使用的Java日志框架,提供了灵活的日志记录和管理机制。本文档将详细介绍Log4j和Log4j2的日志应用,包括...本文档为Log4j和Log4j2日志应用提供了详细的介绍和相关知识点。

    The Complete Log4j Manual

    根据提供的文件信息,我们可以提炼出以下关于Log4j的详细知识点: 1. Log4j的版本兼容性 本手册适用的Log4j版本为1.2及之后的版本。这意味着在手册中讨论的所有配置和使用方法都与Log4j的1.2版本及以上版本兼容。...

    log4j-2.17.1的jar包,导入即可使用

    以下是关于Log4j 2.17.1的一些关键知识点: 1. **日志框架**:Log4j 是Apache软件基金会的一个项目,它为Java应用程序提供了一种灵活的日志记录机制。与其他日志库相比,Log4j 提供了更多的定制选项和更高的性能。 ...

    新版本与旧版本log4j.jar包下载,附使用说明----.zip

    **知识点详解** 1. **Log4j**: Log4j是Apache的一个开源项目,是一个基于Java的日志记录工具,它允许程序员以一种灵活的方式控制日志信息的输出。在Java应用开发中,Log4j被广泛用于记录程序运行时的信息,包括错误...

    log4j2所需的jar

    以下是关于Log4j2的一些关键知识点: 1. **日志框架**:Log4j2是Apache软件基金会开发的日志API,用于替代早期的Log4j。它的设计目标是提供更高效、更灵活的日志记录,并且支持动态配置。 2. **组件**:Log4j2主要...

    Java与log4j2整合mongoDB需要的jar包

    以下是对如何整合Java、log4j2和MongoDB所需的知识点的详细说明: 首先,让我们了解Java和log4j2的基础。Java是一种广泛使用的面向对象的编程语言,具有平台无关性,这使得它成为构建跨平台应用程序的理想选择。Log...

    Spring项目中怎么配置log4j

    在Spring项目中配置log4j是一项基础且重要的工作,它能帮助我们记录应用程序的...以上就是Spring项目中配置log4j的基本步骤和关键知识点。通过合理配置,我们可以实现日志的高效管理和监控,从而提升开发和运维的效率。

    log4j2用户指南

    ### Log4j2 用户指南知识点概述 #### 1.1 欢迎使用 Log4j2! ##### 1.1.1 引言 几乎每一个大型应用都有自己的日志或跟踪 API。根据这一规则,E.U.SEMPER 项目决定在 1996 年初开发自己的追踪 API。经过无数次的...

    log4j测试程序

    **知识点详细说明:** 1. **Log4j基本概念**:Log4j是一个日志框架,它为Java应用程序提供了一套全面的日志处理机制,包括日志记录、配置、过滤、输出格式化等功能。 2. **日志级别**:Log4j支持多种日志级别,如...

    log4j漏洞扫描工具

    **基于上述信息,以下是关于Log4j漏洞和扫描工具的详细知识点:** 1. **Log4j漏洞(Log4Shell)**:这是一个存在于Apache Log4j 2.x版本中的远程代码执行漏洞,由于日志框架允许攻击者通过特定的日志格式注入恶意...

    log4j漏洞修复升级jar包(log4j-1.2-api-2.17.0.jar)

    log4j漏洞修复升级jar包(log4j-1.2-api-2.17.0.jar)

    log4j漏洞修复升级jar包(log4j-core-2.17.0.jar)

    log4j漏洞修复升级jar包(log4j-core-2.17.0.jar)

    log4j记录压缩日记

    **详细知识点:** 1. **Log4j简介**:Log4j是一个广泛使用的Java日志库,提供强大的控制日志输出的能力,支持多种输出格式,如控制台、文件、数据库等。它允许开发者动态地调整日志级别,以便在开发、测试和生产...

    log4j漏洞修复升级jar包(log4j-api-2.17.0.jar)

    log4j漏洞修复升级jar包(log4j-api-2.17.0.jar)

    log4j中文手册(中文版)

    ### log4j中文手册知识点概览 #### 1. 简介 - **概述**:日志记录在软件开发中扮演着至关重要的角色。它不仅帮助开发者追踪问题,还能在生产环境中收集运行数据用于分析。传统的日志记录方式如`System.out.println...

    apache-log4j-2.8.2-bin.tar

    在Log4j 2.8.2中,主要的知识点包括: 1. **日志级别**:Log4j 支持多个日志级别,如 DEBUG、INFO、WARN、ERROR 和 FATAL,允许开发者根据需要调整日志输出的详细程度,以满足不同场景的需求。 2. **配置灵活性**...

Global site tag (gtag.js) - Google Analytics