Log4j2日志框架集成Slf4j日志门面
1.说明
本文介绍使用日志门面Slf4j打印日志,
底层日志实现使用Log4j2框架,
方便以后切换底层日志实现,
Log4j2可以替换成Logback等。
2.依赖管理
在pom.xml依赖管理中导入slf4j-api和log4j-bom:
<dependencyManagement><dependencies><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.25</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-bom</artifactId><version>2.12.1</version><scope>import</scope><type>pom</type></dependency></dependencies>
</dependencyManagement>
3.依赖引入
在pom.xml依赖中引入相关的jar包:
<dependencies><!-- slf4j+log4j2 日志框架 start --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-slf4j-impl</artifactId></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId></dependency><!-- slf4j+log4j2 日志框架 end -->
</dependencies>
4.日志配置
在src/main/resource下面增加log4j2.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN"><Appenders><Console name="Console" target="SYSTEM_OUT"><PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level [%l] - %msg%n"/></Console></Appenders><Loggers><Root level="DEBUG"><AppenderRef ref="Console"/></Root></Loggers>
</Configuration>
说明一下,
虽然使用了日志门面,
但是配置文件还是和底层日志实现相关的,
这里Log4j2使用log4j2.xml配置文件,
包括文件内容的格式,
都要符合Log4j2规范,
更多说明请参考Log4j2完整XML参考(详细注释说明)。
5.记录日志
在记录日志的时候,
使用Slf4j提供的日志工厂和日志类即可。
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;public class UserController {private Logger logger = LoggerFactory.getLogger(getClass());public List<User> getUsersAll() {logger.debug("UserController.getUsersAll() start");}
}
其中通过日志工厂获取日志类的时候,
还有以下写法,
注意在不同的类中使用时记得修改名称:
private Logger logger = LoggerFactory.getLogger(UserController.class);
6.输出日志
可以看到如下日志:
2020-07-02 15:57:11.723 [http-nio-8088-exec-1] DEBUG [24] - UserController.getUsersAll() start
7.参考文章
SpringBoot集成Log4j2框架
http://www.taodudu.cc/news/show-1250975.html
相关文章:
- XML解析的四种方式
- XML解析和创建的JAXB方式
- 【转载】JSON介绍
- Elasticsearch单机安装Version7.10.1
- Drools创建Maven工程
- Java二、八、十、十六进制介绍
- Drools集成SpringBoot
- Drools集成SpringBootStarter
- Jsonschema2pojo从JSON生成Java类(Maven)
- YangTools从YANG生成Java类(Maven)
- GitBash添加tree命令
- SpringBoot集成Maven工程
- SpringBoot开发Restful接口
- Notepad++便签模式
- SpringBoot集成Cache缓存(Ehcache缓存框架,注解方式)
- PowerDesigner生成数据库刷库脚本
- PowerDesigner生成数据库设计文档
- Eclipse配置国内镜像源
- PingInfoView批量PING工具
- Git合并两个不同的仓库
- Guava事件处理组件Eventbus使用入门
- Junit4集成到Maven工程
- Redis集成到Maven工程(Jedis客户端)
- SpringBoot集成Cache缓存(Redis缓存,RedisTemplate方式)
- Junit5集成到Maven工程
- Junit5集成到SpringBoot工程
- 语言代码表
- Protobuf生成Java代码(Maven)
- Protobuf生成Java代码(命令行)
- Maven查看插件信息
Log4j2日志框架集成Slf4j日志门面相关推荐
- 日志框架介绍(SLF4J及其使用)
本文主要介绍 1.日志框架基本介绍及Spring Boot中默认使用框架(SLF4J+LogBack); 2.SLF4J的使用 3.项目中日志框架统一问题 4.Spring Boot中如何实现日志框架 ...
- java日志框架简介(日志框架选型)
目录 日志框架发展历程 实现框架 log4j1 JUL logback log4j2 门面日志 SLF4J JCL Spring-JCL Jboss-logging 日志框架选型 日志框架发展历程 现 ...
- Java日志框架 -- 日志框架介绍、日志门面技术、JUL日志(JUL架构、JUL入门示例、JUL日志级别、JUL日志的配置文件)
1. 日志的概念 日志文件是用于记录系统操作事件的文件集合,可分为事件日志和消息日志.具有处理历史数据.诊断问题的追踪以及理解系统的活动等重要作用. 2. Java日志框架 问题: 控制日志输出的内容 ...
- android日志管理最佳策略,【日志框架与全局日志管理】1. 日志框架的简介与选型...
一.日志框架简介 Spring Boot 默认的日志记录框架使用的是 Logback,此外我们还可以选择 Log4j 和 Log4j2.其中 Log4j 可以认为是一个过时的函数库,已经停止更新,不推 ...
- springboot开启debug日志_Spring Boot SLF4J日志实例(五十)
默认情况下,SLF4j日志记录包含在Spring Boot Web应用程序中,只需要启用它就可以了. 注意:查看此Spring Boot Logback XML模板以了解默认的日志记录模式和配置. S ...
- spring boot—集成log4j2日志框架
文章目录 市场上的日志框架 spring boot日志框架关系 移除默认日志框架 切换为log4j2日志框架 市场上的日志框架 1)日志门面最常用的是slf4j 2)日志实现最常用的是logb ...
- java日志框架JUL、JCL、Slf4j、Log4j、Log4j2、Logback 一网打尽
为什么程序需要记录日志 我们不可能实时的24小时对系统进行人工监控,那么如果程序出现异常错误时要如何排查呢?并且系统在运行时做了哪些事情我们又从何得知呢?这个时候日志这个概念就出现了,日志的出现对系统 ...
- Java各类日志门面(slf4j,commons-logging)和日志框架(log4j,logback)联系和区别
日志门面 1.Apache通用日志接口(commons-logging.jar) Apache Commons包中的一个,包含了日志功能,必须使用的jar包.这个包本身包含了一个Simple Logg ...
- 日志框架(3) : 日志门面、JCL介绍、SLF4J介绍
文章目录 日志门面 日志门面概述 门面模式(外观模式) 日志门面 常见的日志框架及日志门面 JCL简介 SLF4J SLF4J简介 SLF4J桥接技术 SLF4J特点 SLF4J集成日志实现(jul, ...
最新文章
- ORACLE姚翔,- oalib
- 【Java Web前端开发】HTML表单和CSS部分
- 用python处理excel表格_python用win32com处理excel表格
- 通讯录新建分组功能php,微信通讯录分组怎么设置
- day9-继承式多线程
- jQuery 学习笔记(jQuery: The Return Flight)
- android辅助功能实现群发,Android 8.0实现发送通知的方法
- Golang 的 “omitempty” 关键字略解
- C# 7.0 新特性3: 模式匹配
- 每日长难句打卡Day22
- 2020年带你学会全网营销
- JavaScript 高淇讲解的代码(二)
- iOS 什么是MVC
- 共享单车原理大揭秘:小编亲自示范如何“撬锁”
- 【Win7开启DMA】
- Nvidia Jetson deepstream配置多路RTSP视频源
- 路由器交换机升级操作系统(导IOS)
- Caused by: java.lang.ClassNotFoundException: Cannot find class: com.lisisi.myframework.entity.Insert
- codeforces1407C Chocolate Bunny
- 关于isl28022电源芯片的校准寄存器的配置问题