log4j2配置详解

Log4j2日志记录框架的使用教程与简单实例

自作多情 提交于 2020-02-15 08:07:49
1、Log4j2的使用教程 1.1 简介 Log4j的1.x版本虽然已经被广泛使用于很多应用程序中,但由于出现内存泄漏等bug,代码难以维护,以及需要使用老版本的jdk等劣势,在2015年8月已经玩完。它的替代品,SLF4J,Logback,Log4j2对日志框架做了很多必要的改进。 历史上出现了很多的日记框架,如: Log4j: Apache Log4j是一个基于Java的日志记录工具。它是由Ceki Gülcü首创的,现在则是Apache软件基金会的一个项目。 Log4j是几种Java日志框架之一。 Log4j2: Apache Log4j 2是apache开发的一款Log4j的升级产品。 Commons Logging: Apache基金会所属的项目,是一套Java日志接口,之前叫Jakarta Commons Logging,后更名为Commons Logging。 Slf4j: 类似于Commons Logging,是一套简易Java日志门面,本身并无日志的实现。(Simple Logging Facade for Java,缩写Slf4j)。 Logback: 一套日志组件的实现(Slf4j阵营)。 Jul(Java Util Logging): 自Java1.4以来的官方日志实现。 1.2 安装 在开发中使用Log4j2日志记录框架需要引入的jar包如下: log4j

slf4j、jcl、jul、log4j1、log4j2、logback大总结

删除回忆录丶 提交于 2020-01-07 15:56:56
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> #1 系列目录# 2种日志接口框架,4种日志实现框架 jdk-logging、log4j、logback日志介绍及原理 jcl与jul、log4j1、log4j2、logback的集成原理 slf4j与jul、log4j1、log4j2、logback的集成原理 slf4j、jcl、jul、log4j1、log4j2、logback大总结 slf4j + log4j原理实现及源码分析 Apache Log4j Log4j架构分析与实战 Log4J配置文件详解 Apache Commons Logging Commons Logging 架构分析 JDK Logging JDK Logging 深入分析 Logback 从Log4j迁移到LogBack的理由 Logback 深入分析 Apache Log4j2 Log4j2架构分析与实战 Log4j2配置文件详解 #2 各种jar包总结# log4j1: log4j:log4j1的全部内容 log4j2: log4j-api:log4j2定义的API log4j-core:log4j2上述API的实现 logback: logback-core:logback的核心包 logback-classic: logback实现了slf4j的API commons

聊一聊log4j2配置文件log4j2.xml

狂风中的少年 提交于 2019-12-31 02:35:57
一、背景   最近由于项目的需要,我们把log4j 1.x的版本全部迁移成log4j 2.x 的版本,那随之而来的slf4j整合log4j的配置( 使用Slf4j集成Log4j2构建项目日志系统的完美解决方案 )以及log4j2配置文件的详解,就需要我们来好好聊一聊了。本文就专门来讲解下log4j2.xml配置文件的各项标签的意义。 二、配置全解   1.关于配置文件的名称以及在项目中的存放位置     log4j 2.x版本不再支持像1.x中的.properties后缀的文件配置方式,2.x版本配置文件后缀名只能为".xml",".json"或者".jsn".     系统选择配置文件的优先级(从先到后)如下:       (1).classpath下的名为log4j2-test.json 或者log4j2-test.jsn的文件.       (2).classpath下的名为log4j2-test.xml的文件.       (3).classpath下名为log4j2.json 或者log4j2.jsn的文件.       (4).classpath下名为log4j2.xml的文件.      我们一般默认使用log4j2.xml进行命名。如果本地要测试,可以把log4j2-test.xml放到classpath,而正式环境使用log4j2.xml

Log4j与Log4j2日志记录详解

匿名 (未验证) 提交于 2019-12-03 00:22:01
一个完整的项目里,日志是必不可少的,也是很重要的一部分。程序从开发,测试,维护,运行等环节,都需要向控制台等位置输出大量的信息,如果程序出了问题,那么这些信息能快速反映出问题的所在,帮助我们定位到问题。而且这些信息的输出,在很多时候是使用 System.out.println() 无法完成的,而且使用 System.out.println() 这是IO操作,这会拖慢系统的效率。 日志信息根据用途与记录内容的不同,可以分为调试日志,运行日志,异常日志等。 Log4j 全称为Log for java ,也就是专门用来记录java语言的日志记录工具。目前有两个版本,Log4j与Log4j2。 Log4j的下载地址: http://logging.apache.org/log4j/1.2/download.html Log4j2的下载地址: http://logging.apache.org/log4j/2.x/download.html ,下载是下载的是后缀为bin.zip,然后再解压即可。 使用上面的包的话,直接将下载的依赖包复制粘贴到项目的lib目录下,add to build path就可以了。 如果是使用Maven管理依赖的话,需要添加下面的依赖: <!-- 日志文件管理包 --> < dependency > < groupId > log4j </ groupId > <

Log4j2日志配置详解(2)

匿名 (未验证) 提交于 2019-12-03 00:08:02
Log4j2日志配置系列之2 在应用程序代码中插入日志请求需要相当多的计划和工作。观察显示,大约4%的代码用于日志记录。因此,即使是中等大小的应用程序也会在其代码中嵌入数千条日志语句。考虑到日志语句的数量,管理这些日志语句而不需要手动修改它们就变得非常必要。 log4j 2的配置可以通过以下4种方式之一完成: 1.通过xml、json、yaml或properties格式编写的配置文件。 2.以编程方式,通过创建配置工厂和配置实现。 3.以编程方式,通过调用配置接口中公开的api将组件添加到默认配置中。 4.以编程方式,通过调用内部记录器类上的方法。 本页主要关注通过配置文件配置log4j。有关以编程方式配置log4j的信息可以在扩展log4j 2和编程log4j配置中找到。 注意,与log4j 1.x不同,公共log4j 2 api不公开以任何方式添加、修改或删除追加器和过滤器或操作配置的方法 。 1.Automatic Configuration log4j能够在初始化期间自动配置自己。当log4j启动时,它将定位所有的ConfigurationFactory插件,并按从高到低的加权顺序排列它们。在交付时,log4j包含四个ConfigurationFactory实现:一个用于json,一个用于yaml,一个用于properties,一个用于xml。 1.log4j将检查

log4j2配置文件log4j2.xml

匿名 (未验证) 提交于 2019-12-02 21:52:03
  最近由于项目的需要,我们把log4j 1.x的版本全部迁移成log4j 2.x 的版本,那随之而来的slf4j整合log4j的配置( 使用Slf4j集成Log4j2构建项目日志系统的完美解决方案 )以及log4j2配置文件的详解,就需要我们来好好聊一聊了。本文就专门来讲解下log4j2.xml配置文件的各项标签的意义。   1.关于配置文件的名称以及在项目中的存放位置     log4j 2.x版本不再支持像1.x中的.properties后缀的文件配置方式,2.x版本配置文件后缀名只能为".xml",".json"或者".jsn".     系统选择配置文件的优先级(从先到后)如下:       (1).classpath下的名为log4j2-test.json 或者log4j2-test.jsn的文件.       (2).classpath下的名为log4j2-test.xml的文件.       (3).classpath下名为log4j2.json 或者log4j2.jsn的文件.       (4).classpath下名为log4j2.xml的文件.      我们一般默认使用log4j2.xml进行命名。如果本地要测试,可以把log4j2-test.xml放到classpath,而正式环境使用log4j2.xml,则在打包部署的时候不要打包log4j2-test

Log4j2日志配置详解

孤街醉人 提交于 2019-11-29 21:21:43
log4j与log4j不同:log4j是通过Logger的静态方法getLogger()获取Logger对象,而log4j2是通过LogManager的静态方法getLogger()获取Logger对象。 1.log4j2详解 1. log4j2原理   使用log4j 2 api的应用程序将从LogManager请求具有特定名称的记录器。LogManager将找到适当的LoggerContext,然后从中获取记录器。如果必须创建记录器,它将与LoggerConfig关联,loggerconfig包含a)与记录器相同的名称,b)父包的名称,或c)根LoggerConfig。LoggerConfig对象是从配置中的记录器声明创建的。LoggerConfig与实际传递logevents的appender相关联。 2.logger等级制度   与普通的system.out.println相比,任何日志api的首要优势在于它能够禁用某些日志语句,同时允许其他人不受阻碍地打印。此功能假定日志空间(即所有可能的日志语句的空间)是根据某些开发人员选择的条件进行分类的。 在log4j 1.x中,记录器层次结构是通过记录器之间的关系来维护的。在log4j 2中,这种关系不再存在。相反,层次结构是在loggerconfig对象之间的关系中维护的 。 loggers和loggerconfigs是命名实体