SpringBoot(三) SpringBoot中的日志配置
SLF4J
Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J, Log4J2和Logback。每种Logger都可以通过配置使用控制台或者文件输出日志内容。
SLF4J——Simple Logging Facade For Java,它是一个针对于各类Java日志框架的统一Facade抽象。Java日志框架众多——常用的有java.util.logging
, log4j
, logback
,commons-logging
, Spring框架使用的是Jakarta Commons Logging API (JCL)。而SLF4J定义了统一的日志抽象接口,而真正的日志实现则是在运行时决定的——它提供了各类日志框架的binding。
Logback是log4j框架的作者开发的新一代日志框架,它效率更高、能够适应诸多的运行环境,同时天然支持SLF4J。
默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台。在运行应用程序和其他例子时,启动项目输出的日志文件就是。
日志输出内容元素具体如下:
- 时间日期:精确到毫秒
- 日志级别:ERROR, WARN, INFO, DEBUG or TRACE
- 进程ID
- 分隔符:
---
标识实际日志的开始 - 线程名:方括号括起来(可能会截断控制台输出)
- Logger名:通常使用源代码的类名
- 日志内容
日志框架的使用
1.默认配置
Spring Boot为我们提供了很多默认的日志配置,所以,只要将spring-boot-starter-logging作为依赖加入到当前应用中即可。
2.控制台输出顺序
日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出。
Spring Boot中默认配置ERROR
、WARN
和INFO
级别的日志输出到控制台。还可以通过启动您的应用程序–debug标志来启用。
1 @Slf4j 2 @SpringBootApplication 3 public class Test01Application { 4 5 6 public void index(){ 7 8 //日志的级别; 9 //由低到高 trace<debug<info<warn<error 10 //可以调整输出的日志级别;日志就只会在这个级别以以后的高级别生效 11 //SpringBoot默认给我们使用的是info级别的,没有指定级别的就用SpringBoot默认规定的级别;root级别 12 log.trace(""); 13 log.debug("测试信息"); 14 log.info("普通信息"); 15 log.warn("警告进行"); 16 log.error("错误信息"); 17 18 } 19 20 21 public static void main(String[] args) { 22 SpringApplication.run(Test01Application.class, args); 23 } 24 }
3.级别控制
所有支持的日志记录系统都可以在Spring环境中设置记录级别(在application.properties中)
格式为:’logging.level.* = LEVEL’
logging.level
:日志级别控制前缀,*
为包名或Logger名LEVEL
:选项TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF
如果想要在修改日志级别,可以直接在配置文件中设置。
logging.level.com.test=trace#logging.path= # 不指定路径在当前项目下生成springboot.log日志 # 可以指定完整的路径; #logging.file=G:/springboot.log# 在当前磁盘的根路径下创建spring文件夹和里面的log文件夹;使用 spring.log 作为默认文件 logging.path=/spring/log# 在控制台输出的日志的格式 logging.pattern.console=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n # 指定文件中日志输出的格式 logging.pattern.file=%d{yyyy-MM-dd} === [%thread] === %-5level === %logger{50} ==== %msg%n
日志输出格式: %d表示日期时间, %thread表示线程名, %-5level:级别从左显示5个字符宽度 %logger{50} 表示logger名字最长50个字符,否则按照句点分割。 %msg:日志消息, %n是换行符 --> %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
4.切换日志框架
slf4j+log4j的方式:
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><exclusion><artifactId>logback-classic</artifactId><groupId>ch.qos.logback</groupId></exclusion><exclusion><artifactId>log4j-over-slf4j</artifactId><groupId>org.slf4j</groupId></exclusion></exclusions> </dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId> </dependency>
切换为log4j2
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><exclusion><artifactId>spring-boot-starter-logging</artifactId><groupId>org.springframework.boot</groupId></exclusion></exclusions></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-log4j2</artifactId> </dependency>
转载于:https://www.cnblogs.com/JiangLai/p/9968010.html
SpringBoot(三) SpringBoot中的日志配置相关推荐
- python中logging(日志)配置三种方式
超详细日志文档 python中,logging由logger.handler.filter.formater四个部分组成: logger(记录器):提供我们记录日志的方法: handler(处理器): ...
- log4j配置文件及nutch中的日志配置
使用slf4j作为日志系统时,由于slf4j只是一个接口,它需要一个具体实现来执行. 具体参考http://blog.csdn.net/jediael_lu/article/details/43854 ...
- SpringBoot中自定义日志配置logback-spring.xml
场景 通过系统属性和传统的SpringBoot外部配置文件依然可以很好的支持日志控制和管理. 不同的日志系统对应的命名规范 Logback:logback-spring.xml logbak-spr ...
- SpringBoot ——Spring Boot日志配置
Spring Boot 采用了 slf4j+logback 的组合形式,Spring Boot也提供对JUL.log4j2.Logback提供了默认配置 1.默认日志配置 修改日志默认级别 2.修改日 ...
- SpringBoot默认日志配置输出级别
点击关注公众号,实用技术文章及时了解 来源:blog.csdn.net/csdn18740599042 /article/details/109031005 Springboot默认配置 我们在测试类 ...
- nginx日志[配置解释]
经常使用nginx,但是对nginx中的日志配置了解的不多,最近简单的学习了一下,在此简略的记录下. nginx基础配置如下: user nginx; worker_processes auto;er ...
- SpringBoot内部配置:“application.properties配置”和”使用XML配置”,读取属性文件中的内容,日志配置,Profile配置(学习:SpringBoot实战)
1 SpringBoot内部配置 1.1.修改端口和应用上下文 server.port=9090 server.context-path=/helloboot Spring Boot也可以使用yml进 ...
- 超简单的Springboot中的日志管理配置
本案例中可以了解,怎么配置日志的输出路径,输出格式(比如说zip格式),按日期进行划分(今天的日志输出为一个文件,明天的日志输出到另一个文件),在按日期划分的同时又按文件大小划分(比如说每天的日志记录 ...
- springboot超级详细的日志配置(基于logback)
前言 java web 下有好几种日志框架,比如:logback,log4j,log4j2(slj4f 并不是一种日志框架,它相当于定义了规范,实现了这个规范的日志框架就能够用 slj4f 调用) ...
- 项目构建之springboot集成lomback.xml,和log4j基于properties方式的日志配置记录
文章目录 springboot集成lomback.xml 描述 在yml中定义的一些配置信息 创建logback-spring.xml文件 logback-spring.xml配置如下: **log4 ...
最新文章
- cognos学习轨迹
- Windows 7 的系统优化方案
- cisco *** 案例2
- BZOJ 1084: [SCOI2005]最大子矩阵
- 运行txt文本也可能中毒!微软急修“文本病毒”漏洞
- 【JVM性能调优】jstack和线程dump分析
- java 监听本地端口_JAVA本地监听与远程端口扫描
- 备份恢复与同步(数据搬运专家)
- DMA及cache一致性的学习心得
- java dispatchevent_java事件处理机制
- wangEditor-3.1.1 自己扩展的,增加代码块行号
- Android 查看內存使用
- python获取文件修改时间_Python-获取文件最后修改时间 | 学步园
- MySQL 重置密码
- 如何调试 chrome插件
- 10-N个你可能不知道的Mixly软件操作小技巧 | Mixly技巧系列
- 线性时不变因果系统的判断方法
- UTS安装与卸载-Linux篇
- [原创]CI持续集成系统环境--Gitlab+Gerrit+Jenkins完整对接
- PLC运动控制系列之机械回原点(back to origin)
热门文章
- 面试题之数据库事务隔离级别
- 15张图带你彻底明白spring循环依赖,再也不用怕了
- MySQL 安装 [mysql-5.6.37]
- “暗云Ⅲ”实为老病毒 360去年已查杀
- Unity与安卓开发的一些路径知识
- JS浏览器对象-Location对象
- 《神探tcpdump第八招》-linux命令五分钟系列之四十二
- C#三层架构详细解剖
- [转载]Android开发新浪微博客户端 完整攻略 [新手必读]
- Visual Studio使用技巧---(1-10)