SLF4J

Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J, Log4J2和Logback。每种Logger都可以通过配置使用控制台或者文件输出日志内容。

SLF4J——Simple Logging Facade For Java,它是一个针对于各类Java日志框架的统一Facade抽象。Java日志框架众多——常用的有java.util.logginglog4jlogbackcommons-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中默认配置ERRORWARNINFO级别的日志输出到控制台。还可以通过启动您的应用程序–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中的日志配置相关推荐

  1. python中logging(日志)配置三种方式

    超详细日志文档 python中,logging由logger.handler.filter.formater四个部分组成: logger(记录器):提供我们记录日志的方法: handler(处理器): ...

  2. log4j配置文件及nutch中的日志配置

    使用slf4j作为日志系统时,由于slf4j只是一个接口,它需要一个具体实现来执行. 具体参考http://blog.csdn.net/jediael_lu/article/details/43854 ...

  3. SpringBoot中自定义日志配置logback-spring.xml

    场景 通过系统属性和传统的SpringBoot外部配置文件依然可以很好的支持日志控制和管理. 不同的日志系统对应的命名规范 Logback:logback-spring.xml  logbak-spr ...

  4. SpringBoot ——Spring Boot日志配置

    Spring Boot 采用了 slf4j+logback 的组合形式,Spring Boot也提供对JUL.log4j2.Logback提供了默认配置 1.默认日志配置 修改日志默认级别 2.修改日 ...

  5. SpringBoot默认日志配置输出级别

    点击关注公众号,实用技术文章及时了解 来源:blog.csdn.net/csdn18740599042 /article/details/109031005 Springboot默认配置 我们在测试类 ...

  6. nginx日志[配置解释]

    经常使用nginx,但是对nginx中的日志配置了解的不多,最近简单的学习了一下,在此简略的记录下. nginx基础配置如下: user nginx; worker_processes auto;er ...

  7. SpringBoot内部配置:“application.properties配置”和”使用XML配置”,读取属性文件中的内容,日志配置,Profile配置(学习:SpringBoot实战)

    1 SpringBoot内部配置 1.1.修改端口和应用上下文 server.port=9090 server.context-path=/helloboot Spring Boot也可以使用yml进 ...

  8. 超简单的Springboot中的日志管理配置

    本案例中可以了解,怎么配置日志的输出路径,输出格式(比如说zip格式),按日期进行划分(今天的日志输出为一个文件,明天的日志输出到另一个文件),在按日期划分的同时又按文件大小划分(比如说每天的日志记录 ...

  9. springboot超级详细的日志配置(基于logback)

    前言   java web 下有好几种日志框架,比如:logback,log4j,log4j2(slj4f 并不是一种日志框架,它相当于定义了规范,实现了这个规范的日志框架就能够用 slj4f 调用) ...

  10. 项目构建之springboot集成lomback.xml,和log4j基于properties方式的日志配置记录

    文章目录 springboot集成lomback.xml 描述 在yml中定义的一些配置信息 创建logback-spring.xml文件 logback-spring.xml配置如下: **log4 ...

最新文章

  1. cognos学习轨迹
  2. Windows 7 的系统优化方案
  3. cisco *** 案例2
  4. BZOJ 1084: [SCOI2005]最大子矩阵
  5. 运行txt文本也可能中毒!微软急修“文本病毒”漏洞
  6. 【JVM性能调优】jstack和线程dump分析
  7. java 监听本地端口_JAVA本地监听与远程端口扫描
  8. 备份恢复与同步(数据搬运专家)
  9. DMA及cache一致性的学习心得
  10. java dispatchevent_java事件处理机制
  11. wangEditor-3.1.1 自己扩展的,增加代码块行号
  12. Android 查看內存使用
  13. python获取文件修改时间_Python-获取文件最后修改时间 | 学步园
  14. MySQL 重置密码
  15. 如何调试 chrome插件
  16. 10-N个你可能不知道的Mixly软件操作小技巧 | Mixly技巧系列
  17. 线性时不变因果系统的判断方法
  18. UTS安装与卸载-Linux篇
  19. [原创]CI持续集成系统环境--Gitlab+Gerrit+Jenkins完整对接
  20. PLC运动控制系列之机械回原点(back to origin)

热门文章

  1. 面试题之数据库事务隔离级别
  2. 15张图带你彻底明白spring循环依赖,再也不用怕了
  3. MySQL 安装 [mysql-5.6.37]
  4. “暗云Ⅲ”实为老病毒 360去年已查杀
  5. Unity与安卓开发的一些路径知识
  6. JS浏览器对象-Location对象
  7. 《神探tcpdump第八招》-linux命令五分钟系列之四十二
  8. C#三层架构详细解剖
  9. [转载]Android开发新浪微博客户端 完整攻略 [新手必读]
  10. Visual Studio使用技巧---(1-10)