logback的使用和logback.xml详解写的非常详细。

只根据上面的我们会发现,日志要么输出到文件。要么输出到控制台不能有选择的输出满足我们的要求,这是需要看下面这个文章,

多个xml路径,有选择的输出到文件。

这两篇文章结合,基本满足我们实际应用的需要。

为了使我们的日志更加利于观看,我们可以把日志做成html格式的,

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" debug="false"><!-- ERROR级别日志 --><!-- 滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件 RollingFileAppender--><appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender"><!-- 过滤器,只记录WARN级别的日志 --><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>D://logback/${log_dir}/%d{yyyy-MM-dd}/error-log.log</fileNamePattern><!-- 可选节点,控制保留的归档文件的最大数量,超出数量就删除旧文件假设设置每个月滚动,且<maxHistory>是6,则只保存最近6个月的文件,删除之前的旧文件。注意,删除旧文件是,那些为了归档而创建的目录也会被删除--><maxHistory>${maxHistory}</maxHistory></rollingPolicy><!-- 按照固定窗口模式生成日志文件,当文件大于20MB时,生成新的日志文件。窗口大小是1到3,当保存了3个归档文件后,将覆盖最早的日志。<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"><fileNamePattern>${log_dir}/%d{yyyy-MM-dd}/.log.zip</fileNamePattern><minIndex>1</minIndex><maxIndex>3</maxIndex></rollingPolicy>   --><!-- 查看当前活动文件的大小,如果超过指定大小会告知RollingFileAppender 触发当前活动文件滚动<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><maxFileSize>5MB</maxFileSize></triggeringPolicy>   --><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern></encoder></appender><!-- ConsoleAppender 控制台输出日志 --><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><!-- 对日志进行格式化 --><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n</pattern></encoder></appender><appender name="HTML" class="ch.qos.logback.core.FileAppender"><!-- 过滤器,只记录WARN级别的日志 --><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>info</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter><encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder"><layout class="ch.qos.logback.classic.html.HTMLLayout"><pattern>%p%d%msg%M%F{32}%L</pattern></layout></encoder><file>D://logback/html/error-log.html</file>
</appender><!-- 日志输出级别 --><root level="info"><appender-ref ref="STDOUT" /><appender-ref ref="HTML" /></root>
</configuration>

完美。

在使用过程中发现需要每天生成一个,测试了好久总结到以下的xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false"><!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径--><property name="LOG_HOME" value="D:/eclipse/WorkSpace/shop/logs" /><!-- 控制台输出 --><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern></encoder></appender><!-- 按照每天生成日志文件 --><appender name="FILE"  class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志文件输出的文件名--><FileNamePattern>${LOG_HOME}/TestWeb.log.%d{yyyy-MM-dd}.log</FileNamePattern><!--日志文件保留天数--><MaxHistory>30</MaxHistory></rollingPolicy><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern></encoder><!--日志文件最大的大小--><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><MaxFileSize>10MB</MaxFileSize></triggeringPolicy></appender><!-- 生成html格式日志开始 --><appender name="HTML" class="ch.qos.logback.core.FileAppender">  <!-- 过滤器,只记录WARN级别的日志 -->  <!-- <filter class="ch.qos.logback.classic.filter.LevelFilter">  <level>info</level>  <onMatch>ACCEPT</onMatch>  <onMismatch>DENY</onMismatch>  </filter>   --><encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">  <layout class="ch.qos.logback.classic.html.HTMLLayout">  <pattern>%p%d%msg%M%F{32}%L</pattern>  </layout>  </encoder>  <file>D:/eclipse/WorkSpace/shop/logs/error-log.html</file>  </appender>  <!-- 生成html格式日志结束 --><!-- 每天生成一个html格式的日志开始 --><appender name="FILE_HTML"  class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志文件输出的文件名--><FileNamePattern>${LOG_HOME}/Test111.log.%d{yyyy-MM-dd}.html</FileNamePattern><!--日志文件保留天数--><MaxHistory>30</MaxHistory></rollingPolicy><encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">  <layout class="ch.qos.logback.classic.html.HTMLLayout">  <pattern>%p%d%msg%M%F{32}%L</pattern>  </layout>  </encoder>  <!--日志文件最大的大小--><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><MaxFileSize>10MB</MaxFileSize></triggeringPolicy></appender><!-- 每天生成一个html格式的日志结束 --><!-- show parameters for hibernate sql 专为 Hibernate 定制 --><!-- <logger name="org.hibernate.type.descriptor.sql.BasicBinder"  level="TRACE" /><logger name="org.hibernate.type.descriptor.sql.BasicExtractor"  level="DEBUG" /><logger name="org.hibernate.SQL" level="DEBUG" /><logger name="org.hibernate.engine.QueryParameters" level="DEBUG" /><logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" /> --><!--myibatis log configure--><logger name="com.apache.ibatis" level="TRACE"/><logger name="java.sql.Connection" level="DEBUG"/><logger name="java.sql.Statement" level="DEBUG"/><logger name="java.sql.PreparedStatement" level="DEBUG"/><!-- 日志输出级别 --><root level="INFO"><appender-ref ref="STDOUT" /><appender-ref ref="FILE" /><appender-ref ref="HTML" /><appender-ref ref="FILE_HTML" /></root><!--日志异步到数据库 --><!--<appender name="DB" class="ch.qos.logback.classic.db.DBAppender">--><!--<!–日志异步到数据库 –>--><!--<connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">--><!--<!–连接池 –>--><!--<dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource">--><!--<driverClass>com.mysql.jdbc.Driver</driverClass>--><!--<url>jdbc:mysql://127.0.0.1:3306/databaseName</url>--><!--<user>root</user>--><!--<password>root</password>--><!--</dataSource>--><!--</connectionSource>--><!--</appender>-->
</configuration>

有一个logback-core.xml文件,配置上面已经讲了。

在application.yaml文件中,

logging:config: classpath:logback-core.xml

在application.properties中添加,

logging.config=classpath:logback-core.xml

springboot2.0日志配置 logback的使用和logback.xml详解相关推荐

  1. SpringBoot2.0日志配置实例

    文章来源:https://blog.csdn.net/gozhuyinglong 版权声明:本文版权归作者所有,转载请注明出处 ##一.SpringBoot日志简介 SpringBoot使用Commo ...

  2. mysql8.0导入备份_mysql8.0.20配合binlog2sql的配置和简单备份恢复的步骤详解

    第一步 安装 1.安装MySQL 2.安装Python3 [root@localhost /]#yum install python3 3.下载binlog2sql文件到本地(文件在百度云盘) [ro ...

  3. SpringBoot2.x整合轻量级分布式定时任务ShedLock3.x的使用详解

    目录 前言 SpringBoot2.x整合轻量级分布式定时任务ShedLock3.x的使用详解 一.关于ShedLock 二.ShedLock的三个核心组件 三.ShedLock使用三步走 四.Spr ...

  4. Hadoop入门(二)——VMware虚拟网络设置+Windows10的IP地址配置+CentOS7静态IP设置(图文详解步骤2021)

    Hadoop入门(二)--VMware虚拟网络设置+Windows10的IP地址配置+CentOS7静态IP设置(图文详解步骤2021) 之前在上一篇文章中讲述了 CentOS7下载+VM上安装(手动 ...

  5. STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解)

    目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...

  6. Cisco ××× 完全配置指南-连载-IOS ×××阶段2连接详解

    Cisco ××× 完全配置指南-连载-IOS ×××阶段2连接详解 详细配置见附件 转载于:https://blog.51cto.com/xuanbo/151764

  7. ubuntu20.0.4更新至中文环境 | 具体步骤 + 图文详解

    ubuntu20.0.4更新至中文环境 | 具体步骤 + 图文详解 1.找到 Settings 即设置 2.找到Language and Region:点击下方的 Manage installed L ...

  8. php sprintf 后面补0,PHP数字前补0的自带函数sprintf 和number_format的用法(详解)

    下面小编就为大家带来一篇PHP数字前补0的自带函数sprintf 和number_format的用法(详解).小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 很多时候我们 ...

  9. Pinterest 3.0 for iOS设计过程——升级iOS7设计思路详解

    Pinterest 3.0 for iOS设计过程--升级iOS7设计思路详解 时间2013-12-11 11:39:31  苹果开发中文站 原文  http://www.cocoachina.com ...

最新文章

  1. python查看微信撤回消息_想查看微信好友撤回的消息?Python帮你搞定
  2. [原][osg]osgconv浅析
  3. saspython知乎_python学习笔记---linux/windows调用sas程序
  4. Equipment upload - ERP inbound的debug
  5. Linux中deb软件包管理怎么看,Deb软件包管理
  6. 无监督学习 k-means_无监督学习-第2部分
  7. zabbix无效监控项_zabbix4.2zabbix自定义监控项、添加新的监控项
  8. 要不要使用外键(foreign key )?
  9. 深度学习: 推进人工智能的梦想
  10. 人民币真的升值了吗?
  11. 2022网络工程师必看好书(最新整理,附PDF下载)
  12. rk3568 4g 模块调试-ec20(移远模块)
  13. Linux 开发环境搭建与使用——SlickEdit 的安装与配置
  14. 堆密度测定的意义_测定颗粒真密度的意义是什么
  15. 动作捕捉用于蛇运动分析及蛇形机器人开发
  16. 读《大秦帝国》第二部
  17. Python 正则表达式(RegEx)
  18. 来电转接点击选择联系人按钮-没有出现联系人
  19. Win10系统开机后任务栏卡死解决方法
  20. Kile5安装教程和创建一个工程举例【图文STM32F407ZE芯片为例】

热门文章

  1. html静态页面--对我的idol相关内容的集合页面(徐明浩the 8)
  2. 《论语》原文及其全文翻译 学而篇13
  3. 模仿 Android支付宝咻一咻功能实现
  4. 阿德莱德大学计算机博士项目,澳大利亚阿德莱德大学计算学院招收博士生,全额奖学金,学费全免...
  5. 百度涉嫌干涉以色列广播虚假新闻被黑
  6. Docker集群(一) —— Docker网络及flannel介绍
  7. 条码标签打印机可能遇到哪些问题
  8. 亿速云服务器 如何上传文件,使用MultipartFile怎么实现一个文件上传功能
  9. 黑龙江省双鸭山市谷歌高清卫星地图下载
  10. 2007我的找工作之旅 - 洛丽塔之痒 - 洛丽塔之痒 - 和讯博客