springboot 默认日志配置

最简单的打印Sql日志

方法一
此方法无需改动直接复制即可使用
#打印SQL

mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

方法二
注意!注意!注意!
此方法需要将代码中的com.lion.mapper换成你自己的mapper路径

#打印SQL
logging.level.com.lion.mapper= debug

SpringBoot 日志配置 默认采用LogBack作为日志输出!

日志格式化

具体输出的格式详解如下:

2019-01-10 17:30:08.685 :日期精确到时间毫秒级别

info是日志级别 : 可以设置为其他的级别如debug,error等

9184 :进程id

— : 分割符

main: 表示主线程

com.xxxxx: 通常为源码类

“:” 后即为详细的日志信息

控制台输出级别

在application.properties文件中配置

如果你的终端支持ANSI,设置彩色输出会让日志更具可读性。通过在application.properties中设置spring.output.ansi.enabled参数来支持。

  • NEVER:禁用ANSI-colored输出(默认项)
  • DETECT:会检查终端是否支持ANSI,是的话就采用彩色输出(推荐项)
  • ALWAYS:总是使用ANSI-colored格式输出,若终端不支持的时候,会有很多干扰信息,不推荐使用
#多彩输出
spring.output.ansi.enabled=detect
#日志级别
logging.level.root=info
#所有包下面都以debug级别输出
logging.level.*=info

默认输出格式


可以通过 logging.pattern.console = 进行配置

文件输出

springboot默认会将日志输出到控制台,线上查看日志时会很不方便,一般我们都是输出到文件。

需要在application.properties配置

#日志输出路径问价 优先输出 logging.file
logging.file=C:/Users/tizzy/Desktop/img/my.log#设置目录,会在该目录下创建spring.log文件,并写入日志内容,
logging.path=C:/Users/tizzy/Desktop/img/#日志大小 默认10MB会截断,重新输出到下一个文件中,默认级别为:ERROR、WARN、INFO
logging.file.max-size=10MB

logging.file 和 logging.path 同时设置时候会优先使用logging.file 作为日志输出。

自定义日志配置

日志服务在ApplicationContext 创建之前就被初始化了,并不是采用Spring的配置文件进行控制。

那我们来如何进行自定义配置日志呢。

springboot为我们提供了一个规则,按照规则组织配置文件名,就可以被正确加载:

  • Logback:logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy
  • Log4j:log4j-spring.properties, log4j-spring.xml, log4j.properties, log4j.xml
  • Log4j2:log4j2-spring.xml, log4j2.xml
  • JDK (Java Util Logging):logging.properties

LogBack xml配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration><!-- 控制台打印日志的相关配置 --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <!-- 日志格式 --><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss} [%level] - %m%n</pattern></encoder><!-- 日志级别过滤器 --><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 过滤的级别 --><level>WARN</level><!-- 匹配时的操作:接收(记录) --><onMatch>ACCEPT</onMatch><!-- 不匹配时的操作:拒绝(不记录) --><onMismatch>DENY</onMismatch></filter></appender><!-- 文件保存日志的相关配置 --> <appender name="ERROR-OUT" class="ch.qos.logback.core.rolling.RollingFileAppender"><!-- 保存日志文件的路径 --><file>/logs/error.log</file><!-- 日志格式 --><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss} [%class:%line] - %m%n</pattern></encoder><!-- 日志级别过滤器 --><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 过滤的级别 --><level>ERROR</level><!-- 匹配时的操作:接收(记录) --><onMatch>ACCEPT</onMatch><!-- 不匹配时的操作:拒绝(不记录) --><onMismatch>DENY</onMismatch></filter><!-- 循环政策:基于时间创建日志文件 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 日志文件名格式 --><fileNamePattern>error.%d{yyyy-MM-dd}.log</fileNamePattern><!-- 最大保存时间:30天--><maxHistory>30</maxHistory></rollingPolicy></appender><!-- 基于dubug处理日志:具体控制台或者文件对日志级别的处理还要看所在appender配置的filter,如果没有配置filter,则使用root配置 --><root level="debug"><appender-ref ref="STDOUT" /><appender-ref ref="ERROR-OUT" /></root>
</configuration>

Log4j

引如Log4j日志时候 需要 排除logBack日志

org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-logging org.springframework.boot spring-boot-starter-log4j

# 日志级别,日志追加程序列表...
log4j.rootLogger=DEBUG,ServerDailyRollingFile,stdout
#文件保存日志
log4j.appender.ServerDailyRollingFile=org.apache.log4j.DailyRollingFileAppender
#文件保存日志日期格式
log4j.appender.ServerDailyRollingFile.DatePattern='.'yyyy-MM-dd_HH
#文件保存日志文件路径
log4j.appender.ServerDailyRollingFile.File=/mnt/lunqi/demo/log4j.log
#文件保存日志布局程序
log4j.appender.ServerDailyRollingFile.layout=org.apache.log4j.PatternLayout
#文件保存日志布局格式
log4j.appender.ServerDailyRollingFile.layout.ConversionPattern=%d - %m%n
#文件保存日志需要向后追加(false是测试的时候日志文件就清空,true的话就是在之前基础上往后写)
log4j.appender.ServerDailyRollingFile.Append=false
#控制台日志
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#控制台日志布局程序
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#控制台日志布局格式
log4j.appender.stdout.layout.ConversionPattern=%d yyyy-MM-dd HH:mm:ss %p [%c] %m%n

Log4j2

同样排除LogBack干扰,并且引入Log4j2依赖

org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-logging org.springframework.boot spring-boot-starter-log4j2

log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration> <appenders> <Console name="Console" target="SYSTEM_OUT"> <ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY" /> <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n" /></Console><File name="log" fileName="log/test.log" append="false"><PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n" /></File> <RollingFile name="RollingFile" fileName="logs/spring.log" filePattern="log/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log"><PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n" /><SizeBasedTriggeringPolicy size="50MB" /></RollingFile></appenders> <loggers> <root level="trace"><appender-ref ref="RollingFile" /><appender-ref ref="Console" /></root></loggers>
</configuration>

更多查看官方文档

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html

springboot 默认日志配置以及更换其他日志配置相关推荐

  1. SpringBoot默认日志logback配置解析

    SpringBoot默认日志logback配置解析 前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的,你呢 如何引入日志? 日志输出格式 ...

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

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

  3. springboot默认日志配置及程序启动脚本

    前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的,你呢 如何引入日志? 日志输出格式以及输出方式如何配置? 代码中如何使用? 正文 Sp ...

  4. SpringBoot笔记:SpringBoot2.3集成Logback日志组件配置

    文章目录 Logback简介 简介 日志级别 日志分类 Logback使用 添加依赖 配置Logback Logback参数解释 1.根节点configuration包含属性 2.根节点configu ...

  5. springboot(2.2.4)配置druid的log4j2日志监控

    druid连接池标榜自己是唯一有监控的连接池,性能最好的连接池.其中一项是强大的日志功能,方便程序员定位问题,配置log4j2步骤如下: 1.去除springboot默认的logback日志框架,请参 ...

  6. SpringBoot_日志-SpringBoot默认配

    咱们说了springboot做日志管理的依赖原理,用logback的方式进行实现,那怎么用呢 大家测试一下,我们打开之前创建的工程,现在不做任何配置的情况下,我就直接来运行这段代码,我们看到控制台其实 ...

  7. springboot定时删除log4j_SpringBoot整合log4j2进行日志配置及防坑指南

    1.Log4j2优点 具体优点可以参考官方文档:https://logging.apache.org/log4j/2.x/ 我这边只简单说一下: 相比与其他的日志系统,log4j2丢数据的情况少:在多 ...

  8. SpringBoot 日志系列:(二)日志配置

    一.application.properties 或 application.yml 配置 1.1 日志级别 1.2 文件输出 1.3 日志输出格式 二.自定义日志配置 2.1 根节点 <con ...

  9. Springboot日志框架Logback的使用及配置

    两种配置方式 application.properties或 application.yml (系统层面) logback-spring.xml(自定义文件方式) 第一种方式比较简单,可做的事情也比较 ...

最新文章

  1. 蒋林涛:SDN/NFV仍有大量问题未解决 大网应用尚需努力
  2. 程序员去创业公司做CTO,需要注意什么?
  3. 技术有温,代码有爱——1024技术公益信息无障碍
  4. 关于业务用例抽象问题对网友的回复
  5. 微软发布自己定制的 Linux 内核和发行版,面向物联网
  6. 钉钉怎么查看收到的文件 钉钉查看文件的方法
  7. Swift学习笔记十二
  8. 正确率、召回率和F值
  9. 计算机操作系统张尧学第四章课后答案,计算机操作系统 课后习题答案 张尧学...
  10. 阿里云服务器centos7上手安装-4 防火墙篇
  11. Java学习笔记(13)-构造方法
  12. hihocoder 1224 赛车
  13. c++win32项目 如何显示后再删除一个绘图_iMATLAB 绘图扩展函数系列 | 让你绘图更自由(进阶专辑开篇)!...
  14. 如何修改命令提示符(cmd)的颜色?
  15. java redis使用卡死_注意!Redis使用不当可能导致应用卡死
  16. 2023转型“密码”——中小企业进销存软件
  17. 告别BIOS EFI时代来临
  18. 苏宁java二面,苏宁二面+三面
  19. 关于dlib安装时遇到的困难
  20. 《探索式测试实践之路》之漫游测试模型测试点

热门文章

  1. 计算机技能实验报告,计算机实验报告
  2. 使用Spring框架+前端技术实现简易的留言系统
  3. 【Windows】windows10时间显示秒数
  4. 【陶晶驰串口屏】stm32h743驱动cubeide配置
  5. Python就业前景
  6. 几乎全面的食品英文总结
  7. CMU运动捕捉数据处理 MOCAP(一)——数据介绍
  8. 香港联交所或计划采用区块链结算系统
  9. WebUpload 视频上传,支持多视频上传
  10. 无眠的滴滴,不再高傲