`
LiYunpeng
  • 浏览: 950915 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

log4j入门

阅读更多
这里仅介绍配置文件的思想顺序方便理解,具体配置网上会有很多,不在此过多介绍
首先,需要了解log4j的几个预定义级别
debug < info < warn < error < fatal
分别可以控制想要的不同级别的输出规则

---------------------------------------------------------------------------
log4j里面有两个核心的概念,一个是appender、一个是logger,这里,我们需要先要有一个计划,就是把日志想要输出到什么位置、以什么样的形式。
---------------------------------------------------------------------------
所以,我们先来看appender
他的作用是我们来配置日志需要输出到什么位置,以什么样的格式输出
Appender分别提供了如下几种
# org.apache.log4j.ConsoleAppender(控制台),
#org.apache.log4j.FileAppender(文件),
#org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
#org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
#org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

比如如下代码
log4j.appender.INFO = org.apache.log4j.DailyRollingFileAppender
log4j.appender.INFO.File = /Volumes/Data/javaLog/info.log
log4j.appender.INFO.Threshold = info
log4j.appender.INFO.layout = org.apache.log4j.PatternLayout
log4j.appender.INFO.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%-5p] %x  [ %t:%r ] - %m%n

第一行就是我们选择用哪一种输出形式
第二行就是输出文件的位置目录
第三行是这种输出需要过滤的日志级别,也就是低于这个级别的都在这里被忽略,稍后详细写
第四行是输出格式的选择,基本提供了如下等
org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
第五行就是具体输出的格式了,因为第四行选择了自定义的布局,第五行使用匹配的表达式来输出。

这样输出的形式基本就配置完了,我们还可以选择其他的形式输出,根据自己的需求。

---------------------------------------------------------------------------
下面就是Logger了,我们要针对于不同的需求和代码,输出到不同的Appender中,上面我们已经设置好Appender,在Logger中配置对应的输出即可。

---------------------------------------------------------------------------
我们先来看rootLogger
也就是整个log的根
代码如下
log4j.rootLogger = debug , DEBUG , CONSOLE , INFO , ERROR
这里面其实要分为两部分,第一部分,就是等号后面的第一个参数,就是我们之前说到的5种日志级别,我们在这里面配置我们所有的日志的最低级别是什么,比如是error,那么所有error级别以下的日志,都不会被记录,我们这里配置的是debug。
后面的几个参数就是不同的Appender。
意思就是,所有高于debug级别的日志,会分别向后面4个日志输出方式进行输出

---------------------------------------------------------------------------
然后我们在看Logger
我们配置的所有Logger其实都相当于是继承rootLogger的配置,如果我们不单独配置,则使用rootLogger,如果我们配置的级别比rootLogger高,则会在相应自己的配置上使用这个规则,举例说明
log4j.logger.com.ibatis = info
这句配置的意思就是,在com.ibatis包下所输出的日志,只有info级以上的,会分别输出到rootLogger配置的4个日志输出方式中输出

再举例
log4j.logger.com.ibatis = info, DEBUG
这句话的意思和上句其实级别是一样的,不过,他会在DEBUG这个Appender中输出两次日志,也就是,这里面的Logger,是属于包含的关系,rootLogger属于覆盖整个包的范围之内,而com.ibatis包下有自己的日志触发,所以两个都会捕捉到并进行处理,如果说我们又配置了一个
log4j.logger.com = info, DEBUG的话,一次执行日志输出,DEBUG中就会被输出三次,因为有三个地方在捕捉

所以这个地方我们一定要注意,否则日志输出很多次,看起来可能影响阅读和理解。
如果我们想在Logger只用自己的,而不再继承rootLogger,则用如下写法
log4j.additivity.com.ibatis=false
也就是设置additivity,这样就只会按照自己的级别规则进行输出了,也就是仅输出一次。

---------------------------------------------------------------------------
思想流程就是这些,具体的配置还需要看文档
分享到:
评论

相关推荐

    log4j入门、详解

    本篇文章将深入探讨Log4j的入门知识和核心特性。 ### 1. Log4j简介 Log4j是基于Java的日志框架,最初由Ceki Gülcü设计,旨在提供灵活且高效的日志记录解决方案。Log4j提供了丰富的配置选项,可以控制日志信息的...

    springboot整合log4j入门程序

    # springboot整合log4j入门程序## 1. 环境springboot 1.3.8.RELEASE + spring-boot-starter-log4j + jdk8## 2. 源码说明:- SpringBoot只有1.3和1.3.x以下版本才支持log4j,1.3.x以上版本只支持log4j2(对于log4j来...

    log4j入门、详解.pdf

    ### Log4j 入门与详解 #### 一、Log4j简介 Log4j是Apache组织提供的一个开源日志框架,它可以帮助开发者轻松地在应用程序中实现日志记录功能。传统的日志记录方式通常是在代码中直接使用`System.out.println()`等...

    log4j 入门程序

    **Log4j 入门程序详解** Log4j 是 Apache 提供的一款强大的日志记录工具,广泛应用于 Java 开发环境中。它提供了灵活的日志配置,允许开发者根据需求选择不同的输出级别,如DEBUG、INFO、WARN、ERROR 和 FATAL,...

    log4j入门到详解.pdf

    log4j入门到详解.pdf。。。

    Log4j入门学习笔记

    【Log4j入门学习笔记】 Log4j是一个广泛使用的Java日志框架,旨在解决程序开发中日志记录的复杂性和可维护性问题。它提供了一种灵活的方式来控制日志信息的输出格式、输出级别和输出位置,使得在调试、监控和故障...

    Log4j 入门到详解[推荐].pdf

    ### Log4j从入门到详解知识点汇总 #### 1. Log4j简介 Log4j是Apache的一个开源项目,主要用于实现日志记录功能。通过使用Log4j,开发者可以非常方便地控制日志信息的输出目的地(如控制台、文件等)、每条日志的...

    (zt)Commons-logging + Log4j 入门指南

    《Commons-Logging + Log4j 入门指南》 在Java编程中,日志记录是必不可少的一部分,它有助于调试、性能分析以及故障排查。Apache Commons Logging和Log4j是两个广泛使用的日志框架,本指南将深入讲解如何将它们...

    log4j入门介绍和配置方式

    Log4j 入门介绍和配置方式 Log4j 是一个流行的 Java 日志记录工具,能够帮助开发人员调试和分析程序。下面是 Log4j 的基本概念和配置方式。 一、Log4j 概念 Log4j 中有三个主要的组件:Logger、Appender 和 ...

    Log4j入门配置

    **标题:“Log4j入门配置”** 在Java开发中,日志记录是不可或缺的一部分,它帮助开发者追踪程序运行状态、定位错误和调试问题。Log4j是Apache组织提供的一款强大的日志框架,广泛应用于各种Java项目。这篇博客将...

    log4j 入门

    Log4j是Java编程语言中广泛使用的日志记录框架,它提供了一套强大且灵活的日志记录机制,使得开发者能够方便地跟踪和调试应用程序的运行状态。相较于Java内置的Logging API,Log4j拥有更高的可配置性和性能,因此...

    log4j入门与精通教程

    ### log4j入门与精通教程 #### 一、引言 在软件开发过程中,日志记录是一项非常重要的功能。它不仅能够帮助开发者更好地理解和追踪应用程序的行为,还能够在系统出现故障时提供关键信息以便进行问题诊断。传统的...

    Log4j入门指南入门教程

    ### Log4j入门指南知识点详解 #### 一、引言 在软件开发过程中,日志(Log)记录是一项不可或缺的功能。良好的日志管理不仅能帮助开发者快速定位问题所在,还能为后期的系统维护提供便利。本篇内容主要围绕Log4j进行...

    log4j入门配置

    Log4j 入门配置 Log4j 是 Apache 的一个开放源代码项目,通过使用 Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI 组件、甚至是套接口服务器、NT 的事件记录器、UNIX Syslog 守护进程等;我们也可以...

    Log4j入门文档

    ### Log4j入门知识点详解 #### 一、Log4j简介 Log4j是一个开源的日志框架,由Apache软件基金会负责维护。它提供了一种灵活的日志记录机制,支持多种输出方式和格式化选项,广泛应用于Java应用的开发中。 #### 二、...

Global site tag (gtag.js) - Google Analytics