作为一名Java程序员,我们开发了很多Java应用程序,包括桌面应用、WEB应用以及移动应用。然而日志系统是一个成熟Java应用所必不可少的。
在开发和调试阶段,日志可以帮助我们更好更快地定位bug;
在运行维护阶段,日志系统又可以帮我们记录大部分的异常信息,从而帮助我们更好的完善系统。
本文要来分享给大家Java程序员最常用的Java日志框架组件。
在项目开发过程中,我们可以通过 debug 查找问题。而在线上环境我们查找问题只能通过打印日志的方式查找问题。因此对于一个项目而言,日志记录是一个非常重要的问题。
如何选择一个合适的日志记录框架?
在Java开发中,常用的日志框架有JUL、Log4j、Logback、Log4j2、JCL、SLF4j各有各的特点,各有各的应用场景。
了解这些框架的特点及应用场景,有利于我们做技术选型的时候做出正确的判断。
市面流行的日志框架
记录型日志框架
- Jul (Java Util Logging):JDK中的日志记录工具,也常称为JDKLog、jdk-logging,自Java1.4以来的官方日志实现。
- Log4j:Apache Log4j是一个基于Java的日志记录工具。它是由Ceki Gülcü首创的,现在则是Apache软件基金会的一个项目。 Log4j是几种Java日志框架之一。
- Log4j2:一个具体的日志实现框架,是Log4j 1的下一个版本,与Log4j 1发生了很大的变化,Log4j 2不兼容Log4j 1。
- Logback:一个具体的日志实现框架,和Slf4j是同一个作者,业界中称作log4j后浪,一个可靠、通用且灵活的java日志框架。
门面型日志框架
- JCL:Apache基金会所属的项目,是一套Java日志接口,之前叫Jakarta Commons Logging,后更名为Commons Logging
- SLF4J:是一套简易Java日志门面,本身并无日志的实现。(Simple Logging Facade for Java,缩写Slf4j)
总的来说,只要程序员投身到实际的工作环境中,就会对日志的重要性有着充分的认知,尤其是对于Web以及大型的项目应用。
对于新手来说,了解日志的功能,养成好的编程习惯也十分有必要。
如果你之前忽略了日志,没关系,今天咱们开始一起补上,为大家带来了最新最全的日志框教程全集。
这么多日志框架,给人一种很混乱的感觉,那么本课程将对这些日志框架进行全面系统梳理,采用项目案例驱动的方式详细讲解了以上几种日志组件,知识点采用由浅入深、层层递进的方式讲解,让大家在轻松愉快的氛围中完成学习,更加详细且真实的体会日志为我们在开发和生产环境当中所带来的好处。
适应人群
至少学习完了JavaSE,Java Web课程或者已经工作的同学。
没有基础的同学也不要着急,这套教程覆盖了目前所有的日志框架,只要你学Java,就一定用得到,先收藏,以备不时之需。
Java日志框架在线学习
https://www.bilibili.com/video/BV1Mb4y1Z74W
Java日志框架资料下载
http://www.bjpowernode.com/?51cto
课程目录
•001.日志概述
•002.日志文件分类
•003.日志框架作用和价值
•004.市面流行的日志框架
•005.日志门面和日志框架的区别
•006.JUL简介及组件介绍
•007.JUL组件详细介绍
•008.JUL入门案例
•009.JUL打印日志信息动态传递数据
•010.JUL日志级别说明
•011.JUL默认日志级别展示
•012.JUL默认级别源码查询
•013.JUL自定义日志级别
•014.JUL文件中日志的打印
•015.JUL同时添加多个处理器
•016.JULLogger的父子关系
•017.JULLogger父子关系的作用2
•018.JUL节点关系源码查看
•019.JUL默认配置文件位置
•020.JUL配置文件解析
•021.JUL使用自定义配置文件
•022.JUL自定义配置文件中的文件输出
•023.JUL追加日志信息
•024.JUL框架操作流程总结
•025.Log4j简介
•026.Log4j组件介绍
•027.Log4j日志记录器说明
•028.Log4j日志级别说明
•029.Log4j日志输出方式说明
•030.Log4j输出格式化说明
•031.Log4j入门案例
•032.Log4j加载初始化信息简单解析
•033.Log4j日志级别详解
•034.Log4j日志级别输出测试
•035.Log4j日志管理器查看
•036.Log4j配置文件的加载时机
•037.Log4j输出方式和输出格式的配置
•038.Log4j根节点Logger的配置
•039.Log4j日志输出详细信息开关
•040.Log4j自定义格式介绍
•041.Log4j自定义格式详解
•042.Log4j将日志输出到文件中的配置
•043.Log4j指定文件输出位置及字符编码设置
•044.Log4j按照文件大小进行拆分1
•045.Log4j按照文件大小进行拆分2
•046.Log4j按照时间进行日志拆分
•047.Log4j日志持久化表结构创建
•048.Log4j日志持久化相关配置
•049.Log4j日志持久化实现
•050.Log4j自定义Logger的配置
•051.Log4j自定义Logger和根节点同时配置时的问题
•052.Log4j自定义logger应用场景
•053.Log4j自定义logger补充
•054.JCL简介
•055.JCL带给我们的好处
•056.JCL入门案例
•057.JCL集成Log4j的日志输出
•058.JCL源码使用日志框架源码查看
•059.JCL如何帮我们加载Logger对象
•060.日志门面简介
•061.SLF4JSLF4J简介
•062.SLF4J入门案例slf4j-simple
•063.SLF4J动态打印信息功能实现
•064.SLF4J打印异常信息
•065.SLF4JSLF4J与日志集成的分类
•066.SLF4J同时集成多个日志实现的结果分析
•067.SLF4J集成logback
•068.SLF4J使用slf4j-nop禁止日志打印
•069.SLF4J集成log4j的方式
•070.SLF4J集成适配器做log4j日志打印
•071.SLF4J集成JDK14适配器做JUL日志输出
•072.SLF4J集成多个日志实现出现警告信息分析1
•073.SLF4J集成多个日志实现出现警告信心分析2
•074.SLF4J集成多个日志实现出现警告信心分析3
•075.SLF4J日志重构需求
•076.SLF4J日志重构解决方案
•077.SLF4J日志重构实现
•078.SLF4J桥接后Logger的取得方式
•079.LogbackLogback简介
•080.Logback搭建Logback环境
•081.LogbackLogback入门案例
•082.Logback配置文件通用属性介绍
•083.Logback配置控制台appender
•084.Logback配置rootlogger
•085.Logback在文件中录入日志
•086.LogbackHTML格式日志记录
•087.Logback日志拆分1
•088.Logback日志拆分2
•089.Logback通过过滤器做更细粒度的日志打印
•090.Logback为什么使用异步日志
•091.Logback异步日志功能实现
•092.Logback自定义logger
•093.Logback配置文件转换
•094.Log4j2Log4j2简介
•095.Log4j2Log4j2日志环境搭建
•096.Log4j2Log4j2默认配置日志打印
•097.Log4j2Log4j2配置文件基础标签
•098.Log4j2配置文件根标签的属性配置
•099.Log4j2slf4j与log4j2搭配使用方式
•100.Log4j2日志文件输出
•101.Log4j2日志文件拆分1
•102.Log4j2日志文件拆分2
•103.Log4j2Log4j2中的异步日志
•104.Log4j2AsyncAppender形式做异步日志
•105.Log4j2AsyncLogger做全局异步日志
•106.Log4j2AsyncLogger混合异步日志配置
•107.Log4j2AsyncLogger混合异步日志实现
•108.Springboot日志实现概述
•109.Springboot日志实现日志依赖关系
•110.Springboot日志实现日志级别打印
•111.Springboot日志实现测试log4j2桥接器
•112.Springboot日志实现使用核心配置文件配置日志信息
•113.Springboot日志实现配置文件输出
•114.Springboot日志实现导入logback配置文件
•115.Springboot日志实现使用logback配置实现日志拆分
•116.Springboot日志实现集成log4j2