SpringBoot日志相关
SpringBoot使用的是SLF4j当门面,Logback当实现完成
日志级别
数字越大,级别越高,框架只会输出大于等于当前日志级别的信息
- ERROR 40
- WARN 30
- INFO 20
- DEBUG 10
- TRACE 0
几种常用的使用方法
第一种 :
private Logger logger = LoggerFactory.getLogger(WeixindiancanApplicationTests.class);
logger.info();
...
默认的级别上info,按上面的排名只会输出 info,warn,error级别以上的日志
在获取logger对象时,一般都是将本类的class传递进去,在默认的格式在日志输出时会把每条日志信息所在的class名输出出来
第二种: SpringBoot整合 Lombok
Lombok不仅仅提供了强大的@Data,和getset注解,同时支持日志相关
@Slf4j添加在类上,我们就不用再手动的获取Logger对象了,而是直接使用log
log.debug("dubug...");
log.info("info...");
log.error("error...");
格式:
在输出日志的时候可以向下面这样,两种写法
log.info("name="+name+" age="+age);
log.info("name= {},age: {}",name,age);
application.yml的配置

如图是日志相关的配置
- path: E: \
将日志输出到文件 , 默认会在这个路径下创建spring.log
- file: E:\mylog.log
将日志输出到指定目录的指定文件, 可以取代上面的path
- level:
- 可以设置上面的五种日志级别
- 可以指定某个类的日志级别
logging:
pattern:
level:
com.changwu.wen.WeicanApplication: debug
- console: 格式,网上很多不同的输出格式
logback-sring.xml的配置
通过这个配置文件,可以更方便的控制日志的输出,比如将 级别为info的输出到A文件, 级别为error的输出到B文件
默认放置在Resources目录下
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 配置项 配置控制台的输出-->
<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
<!--展示格式-->
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
%d - %msg%n
</pattern>
</layout>
</appender>
<!-- 配置项 配置文件的输出 -->
<appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 只保留 INFO -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<!-- 当匹配到error时, 禁止输出 -->
<onMatch>DENY</onMatch>
<onMismatch>ACCEPT</onMismatch>
</filter>
<encoder> <!--展示格式-->
<pattern>
%msg%n
</pattern>
</encoder>
<!--滚动策略 按照时间,每天产生一个-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--路径-->
<fileNamePattern>E:\info.%d.log</fileNamePattern>
</rollingPolicy>
</appender>
<!-- 创建第三个配置项,将error和info分别输出到不同的文件中 -->
<appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 只保留ERROR -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<encoder>
<!--展示格式-->
<pattern>
%msg%n
</pattern>
</encoder>
<!--滚动策略 按照时间,每天产生一个-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--路径-->
<fileNamePattern>E:\error.%d.log</fileNamePattern>
</rollingPolicy>
</appender>
<!-- 将上面的配置项,使用到root目录上 -->
<root level="info">
<appender-ref ref="consoleLog"/>
<appender-ref ref="fileInfoLog"/>
<appender-ref ref="fileErrorLog"/>
</root>
</configuration>
SpringBoot日志相关的更多相关文章
- springBoot----aop--整合日志相关
springBoot整合日志相关 1:新建log4j.properties文件 : log4j.properties: #log4j.rootLogger=CONSOLE,info,error,DEB ...
- (转)Springboot日志配置(超详细,推荐)
Spring Boot-日志配置(超详细) 更新日志: 20170810 更新通过 application.yml传递参数到 logback 中. Spring Boot-日志配置超详细 默认日志 L ...
- springboot 日志2
SpringBoot关于日志的官方文档 1.简述 SpringBoot官方文档关于日志的整体说明 本博客基于SpringBoot_1.3.6大家请先简单看下这篇英文的官方文档,文中有说 Sprin ...
- JAVAEE——SpringBoot日志篇:日志框架SLF4j、日志配置、日志使用、切换日志框架
Spring Boot 日志篇 1.日志框架(故事引入) 小张:开发一个大型系统: 1.System.out.println(""):将关键数据打印在控制台:去掉?写在一个文件 ...
- SpringBoot日志管理
一.简介 小张:开发一个大型系统:1.System.out.println(""):将关键数据打印在控制台:去掉?写在一个文件?2.框架来记录系统的一些运行时信息:日志框架 : z ...
- springBoot日志框架自动配置与原理
1.日志框架 小张:开发一个大型系统: 1.System.out.println(""):将关键数据打印在控制台:去掉?写在一个文件? 2.框架来记录系统的一些运行时信息: ...
- SpringBoot日志原理解析
1.日志框架 小张:开发一个大型系统:1.System.out.println(""):将关键数据打印在控制台:去掉?写在一个文件?2.框架来记录系统的一些运行时信息:日志框架 : ...
- 【SpringBoot】SpringBoot日志框架(四)
日志框架介绍 在开发过程中,我们经常使用到日志来进行排查问题,我们使用的日志框架都是由2部分组成(日志API + 日志实现) 日志API(及日志抽象层)有:SLF4j(Simple Logging F ...
- 功能:SpringBoot日志配置详情
SpringBoot日志配置详情 一.介绍 在所有的项目中,日志是必不可少的,为了高效清晰的查找日志,可以配置日志输出的等级和格式. 在配置后,可以自定义输出日志到指定目录,可以按照天数来分割日志,可 ...
随机推荐
- Spring Boot的学习之路(01):缘起
有人说,Spring Boot的出现,让Java迎来了又一春,它是Java应用开发的颠覆者,彻底改变了Java应用开发的模式. 2017年,SpringBoot闯入我的生活, 也让我迎来了又一春 我开 ...
- Ubuntu --- Virtualbox 和 宿主机文件夹共享
1.在设置里面共享文件夹 2.在Ubuntu中配置 sudo mount -t vboxsf share /var/www/html/ 无需重启即可生效 3.实现系统重启后也自动挂载 在文件 /etc ...
- 《大型网站系统与Java中间件》读书笔记 (中)
前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 回顾上一篇: <大型网站系统与Java中间件& ...
- sed命令和find命令的结合的使用
linux中查找当前目录及其子目录下的所有test.txt文件,并将文件中的oldboy替换成oldgirl 首先查找出当前目录及其子目录下的所有的test.txt文件 [root@zxl zxl]# ...
- Storm 学习之路(七)—— Storm集成 Redis 详解
一.简介 Storm-Redis提供了Storm与Redis的集成支持,你只需要引入对应的依赖即可使用: <dependency> <groupId>org.apache.st ...
- ES5_04_Array扩展
介绍什么是Array对象? # Array 对象用于在单个的变量中存储多个值 1. 创建 Array 对象的语法: 2. Array 对象属性 3. Array 对象方法 补充: 1. Array.p ...
- php使用webservice调用C#服务端/调用PHP服务端
由于公司业务需要,用自产平台对接某大厂MES系统,大厂提出使用webservice来互通,一脸懵逼啊,一直没有使用过php的webservice的我,瞬间打开手册开始阅读,最终爬过无数坑之后,总结出如 ...
- Java多线程(2)线程锁
多线程访问同一个资源进行读写操作,就很容易出一些问题(比如我们常见的读者写者,生产者消费者模型)所以我们会选择对他们设置信号量或者加锁,来限制同一个时刻只有一个线程对某个对象进行操作. 多线程是一个蛮 ...
- MySQL sys Schema 简单介绍-2
之前在<MySQL sys Schema 简单介绍-1>中简单的介绍了,sys Schema库中的表.那么这些表都可以查询些什么信息呢?接下来本文将做下介绍. 1. 表的情况 1.1 统计 ...
- ubuntu18.04上搭建KVM虚拟机环境超完整过程
看标题这是篇纯运维的文章.在中小型企业中,一般很少配置专业的运维人员,都是由开发人员兼着.同时,对有志于技术管理的开发人员来说,多了解一些运维及整个软件生命周期的知识,是很有帮助的,因为带团队不仅仅是 ...