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日志门面相关推荐

  1. 日志框架介绍(SLF4J及其使用)

    本文主要介绍 1.日志框架基本介绍及Spring Boot中默认使用框架(SLF4J+LogBack); 2.SLF4J的使用 3.项目中日志框架统一问题 4.Spring Boot中如何实现日志框架 ...

  2. java日志框架简介(日志框架选型)

    目录 日志框架发展历程 实现框架 log4j1 JUL logback log4j2 门面日志 SLF4J JCL Spring-JCL Jboss-logging 日志框架选型 日志框架发展历程 现 ...

  3. Java日志框架 -- 日志框架介绍、日志门面技术、JUL日志(JUL架构、JUL入门示例、JUL日志级别、JUL日志的配置文件)

    1. 日志的概念 日志文件是用于记录系统操作事件的文件集合,可分为事件日志和消息日志.具有处理历史数据.诊断问题的追踪以及理解系统的活动等重要作用. 2. Java日志框架 问题: 控制日志输出的内容 ...

  4. android日志管理最佳策略,【日志框架与全局日志管理】1. 日志框架的简介与选型...

    一.日志框架简介 Spring Boot 默认的日志记录框架使用的是 Logback,此外我们还可以选择 Log4j 和 Log4j2.其中 Log4j 可以认为是一个过时的函数库,已经停止更新,不推 ...

  5. springboot开启debug日志_Spring Boot SLF4J日志实例(五十)

    默认情况下,SLF4j日志记录包含在Spring Boot Web应用程序中,只需要启用它就可以了. 注意:查看此Spring Boot Logback XML模板以了解默认的日志记录模式和配置. S ...

  6. spring boot—集成log4j2日志框架

    文章目录 市场上的日志框架 spring boot日志框架关系 移除默认日志框架 切换为log4j2日志框架 市场上的日志框架   1)日志门面最常用的是slf4j   2)日志实现最常用的是logb ...

  7. java日志框架JUL、JCL、Slf4j、Log4j、Log4j2、Logback 一网打尽

    为什么程序需要记录日志 我们不可能实时的24小时对系统进行人工监控,那么如果程序出现异常错误时要如何排查呢?并且系统在运行时做了哪些事情我们又从何得知呢?这个时候日志这个概念就出现了,日志的出现对系统 ...

  8. Java各类日志门面(slf4j,commons-logging)和日志框架(log4j,logback)联系和区别

    日志门面 1.Apache通用日志接口(commons-logging.jar) Apache Commons包中的一个,包含了日志功能,必须使用的jar包.这个包本身包含了一个Simple Logg ...

  9. 日志框架(3) : 日志门面、JCL介绍、SLF4J介绍

    文章目录 日志门面 日志门面概述 门面模式(外观模式) 日志门面 常见的日志框架及日志门面 JCL简介 SLF4J SLF4J简介 SLF4J桥接技术 SLF4J特点 SLF4J集成日志实现(jul, ...

最新文章

  1. ORACLE姚翔,- oalib
  2. 【Java Web前端开发】HTML表单和CSS部分
  3. 用python处理excel表格_python用win32com处理excel表格
  4. 通讯录新建分组功能php,微信通讯录分组怎么设置
  5. day9-继承式多线程
  6. jQuery 学习笔记(jQuery: The Return Flight)
  7. android辅助功能实现群发,Android 8.0实现发送通知的方法
  8. Golang 的 “omitempty” 关键字略解
  9. C# 7.0 新特性3: 模式匹配
  10. 每日长难句打卡Day22
  11. 2020年带你学会全网营销
  12. JavaScript 高淇讲解的代码(二)
  13. iOS 什么是MVC
  14. 共享单车原理大揭秘:小编亲自示范如何“撬锁”
  15. 【Win7开启DMA】
  16. Nvidia Jetson deepstream配置多路RTSP视频源
  17. 路由器交换机升级操作系统(导IOS)
  18. Caused by: java.lang.ClassNotFoundException: Cannot find class: com.lisisi.myframework.entity.Insert
  19. codeforces1407C Chocolate Bunny
  20. 关于isl28022电源芯片的校准寄存器的配置问题

热门文章

  1. C89,C99: C数组结构体联合体快速初始化
  2. LeetCode——maximal-rectangle
  3. MapReduce的基本流程
  4. MyEclipse下JDBC-MySQL配置总结
  5. file标签样式修改
  6. EntityFramework 4.1 如何加入项目
  7. css-浮动-定位-行内或行内快特点
  8. Node.js「三」—— 创建静态 WEB 服务器
  9. 电机的入门之路系列4--PWM控制直流电机
  10. pointer-events(禁止鼠标事件)