这里仅介绍配置文件的思想顺序方便理解,具体配置网上会有很多,不在此过多介绍
首先,需要了解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的入门知识和核心特性。 ### 1. Log4j简介 Log4j是基于Java的日志框架,最初由Ceki Gülcü设计,旨在提供灵活且高效的日志记录解决方案。Log4j提供了丰富的配置选项,可以控制日志信息的...
### Log4j入门详解 #### 1. Log4j简介 Log4j是Apache软件基金会下的一个开源项目,它提供了一种强大且灵活的方式来管理和控制应用程序的日志记录。相较于简单的打印语句,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 入门与详解 #### 一、Log4j简介 Log4j是Apache组织提供的一个开源日志框架,它可以帮助开发者轻松地在应用程序中实现日志记录功能。传统的日志记录方式通常是在代码中直接使用`System.out.println()`等...
**Log4j 入门程序详解** Log4j 是 Apache 提供的一款强大的日志记录工具,广泛应用于 Java 开发环境中。它提供了灵活的日志配置,允许开发者根据需求选择不同的输出级别,如DEBUG、INFO、WARN、ERROR 和 FATAL,...
log4j入门到详解.pdf。。。
【Log4j入门学习笔记】 Log4j是一个广泛使用的Java日志框架,旨在解决程序开发中日志记录的复杂性和可维护性问题。它提供了一种灵活的方式来控制日志信息的输出格式、输出级别和输出位置,使得在调试、监控和故障...
### Log4j从入门到详解知识点汇总 #### 1. Log4j简介 Log4j是Apache的一个开源项目,主要用于实现日志记录功能。通过使用Log4j,开发者可以非常方便地控制日志信息的输出目的地(如控制台、文件等)、每条日志的...
《Commons-Logging + Log4j 入门指南》 在Java编程中,日志记录是必不可少的一部分,它有助于调试、性能分析以及故障排查。Apache Commons Logging和Log4j是两个广泛使用的日志框架,本指南将深入讲解如何将它们...
### Log4j入门指南知识点详解 #### 一、引言 在软件开发过程中,日志(Log)记录是一项不可或缺的功能。良好的日志管理不仅能帮助开发者快速定位问题所在,还能为后期的系统维护提供便利。本篇内容主要围绕Log4j进行...
Log4j 入门介绍和配置方式 Log4j 是一个流行的 Java 日志记录工具,能够帮助开发人员调试和分析程序。下面是 Log4j 的基本概念和配置方式。 一、Log4j 概念 Log4j 中有三个主要的组件:Logger、Appender 和 ...
**标题:“Log4j入门配置”** 在Java开发中,日志记录是不可或缺的一部分,它帮助开发者追踪程序运行状态、定位错误和调试问题。Log4j是Apache组织提供的一款强大的日志框架,广泛应用于各种Java项目。这篇博客将...
Log4j是Java编程语言中广泛使用的日志记录框架,它提供了一套强大且灵活的日志记录机制,使得开发者能够方便地跟踪和调试应用程序的运行状态。相较于Java内置的Logging API,Log4j拥有更高的可配置性和性能,因此...
### log4j入门与精通教程 #### 一、引言 在软件开发过程中,日志记录是一项非常重要的功能。它不仅能够帮助开发者更好地理解和追踪应用程序的行为,还能够在系统出现故障时提供关键信息以便进行问题诊断。传统的...
Log4j 入门配置 Log4j 是 Apache 的一个开放源代码项目,通过使用 Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI 组件、甚至是套接口服务器、NT 的事件记录器、UNIX Syslog 守护进程等;我们也可以...
### Log4j入门知识点详解 #### 一、Log4j简介 Log4j是一个开源的日志框架,由Apache软件基金会负责维护。它提供了一种灵活的日志记录机制,支持多种输出方式和格式化选项,广泛应用于Java应用的开发中。 #### 二、...