Spring boot2.0 日志集成方法分享(1)
作者:剑圣无痕? 发布时间:2023-05-12 20:10:25
前言:
项目开发中日志是不可缺少的一部分,通过日志能够定位和分析事故原因。目前流行日志框架包含了log4j、log4j2、logback等,另外 slf4j
(Simple Logging Facade for Java) 则是一个日志门面框架,提供了日志系统中常用的接口,logback 和 log4j 则对slf4j 进行了实现。本文将讲述spring boot 中如何使用logback+slf4j实现日志。
Java应用中,日志一般分为以下5个级别:
ERROR 错误信息
WARN 警告信息
INFO 一般信息
DEBUG 调试信息
TRACE 跟踪信息
Spring Boot
使用Apache
的Commons Logging
作为内部的日志框架,其仅仅是一个日志接口,在实际应用中需要为该接口来指定相应的日志实现。
SpringBt默认的日志实现是Java Util Logging
,是JDK自带的日志包,此外SpringBt当然也支持Log4J、Logback这类很流行的日志实现。
1.基本引用
maven
中添加spring-boot-starter-logging
<<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
实际开发中无需添加此依赖,只需要引用spring-boot-starter-web
即可,因为spring-boot-starter-web
已经添加了spring-boot-starter-logging依赖。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2.基础配置
默认情况下Spring Boot
将日志输出到控制台,不会写到日志文件。如果需要写入日志文件,则需在application.yml中设置logging.file属性。
logging:
level:
com.test: info
file:
name: /log/test.log
说明:name:日志文件的路径,level:日志级别。
3.基本使用
logger.info("this is info logger"); //记录info级别日志
logger.debug("this is info logger");//记录debug级别日志
logger.error("this is info logger");//记录error级别日志
String str="ac";
logger.error("this is info logger param {}",str);//通过占位符输出变量
来源:https://juejin.cn/post/7073268847175794696
猜你喜欢
- 本文实例讲述了Java实现储存对象并按对象某属性排序的几种方法。分享给大家供大家参考,具体如下:在编程的时候,经常会出现对某一种类的对象们按
- 拷贝构造函数同一个类的对象在内存中有完全相同的结构,如果作为一个整体进行复制或称拷贝是完美可行的,这个拷贝过程只需要拷贝数据成员,而函数成员
- 大叔我北漂十多年,一直没有摇到北京的车牌,每周都需要通过一个 APP 办理“进京证”,当我办理 19 年最后一次进京证的时候,APP 给出了
- 通过VideoView播放视频的步骤:1、在界面布局文件中定义VideoView组件,或在程序中创建VideoView组件2、调用Video
- 前言本文是我之前写的这篇文章《Android图文混排-实现EditText图文混合插入上传》的升级版,除了在EditText实现了图片上传之
- 本文实例为大家分享了Android app应用实现多语言切换功能,供大家参考,具体内容如下1.添加多语言文件 在不同的 value 文件夹下
- 1.注解声明:通过@interface就可以声明一个注解。@Target(ElementType.FIELD)@Retention(Rete
- Android中手机震动的设置(Vibrator)的步骤: a、通过系统服务获得手机震动服务,Vibrator vibrator = (Vi
- 本文实例讲述了Java实现矩阵加减乘除及转制等运算功能。分享给大家供大家参考,具体如下:Java初学,编写矩阵预算程序,当做工具,以便以后写
- 需求:接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承实体类(concrete class)?抽象类中是否
- 资源下载:点此下载一、语言和环境1.实现语言: JAVA语言。2.环境要求: MyEclipse/Eclipse + Tomcat + My
- 前言上一节我们说到从HttpWebHandlerAdapter的handle方法说起到DispatcherHandler的调用流程那么Htt
- 问题起因主要是使用mybatis作为ORM之后,返回的对象为Map,然后对于数据库的datetime,datestamp类型返回为时间戳而不
- 最近想业余做一款android游戏,发现我国一款古老好玩的智力游戏-九格智能拼图挺好玩的,相信大多80后小时玩过,因此有了开发的想法。一、九
- Mybatis注解开发单表操作MyBatis的常用注解Mybatis也可以使用注解开发方式,这样我们就可以减少编写Mapper映射文件了。我
- Java语言中反射 * 接口的解释与演示Java在JDK1.3的时候引入了 * 机制、可以运用在框架编程与平台编程时候捕获事件、审核数据
- java语言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为你往往需要包装许多不同的对象。在Java类库
- Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日
- ViewPager有个方法叫做:setPageTransformer(boolean reverseDrawingOrder, PageTr
- 太多的if-else不太直观,难以维护。 以下面代码为例,展示几种替代if else的方法。String input = &quo