1. POM文件引入 JAR包。spring-boot-starter-parent 集成的各种包依赖 ,其中包括日志的包

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId>  <!-- parent,会有一个这个spring-boot-dependencies 里面会有各种依赖 的JAR包  --><version>2.3.4.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent>

2. 日志文件; logback-spring.xml  官方推荐使用的xml名字的格式为:logback-spring.xml而不是logback.xml,因为带spring后缀的可以使用<springProfile>这个标签。

像这样:  <springProfile name="dev">   <logger name="com.nmys.view" level="debug"/>     </springProfile>

完整的日志文件:

<?xml version="1.0" encoding="UTF-8"?>
<!-- 官方推荐使用的xml名字的格式为:logback-spring.xml而不是logback.xml,至于为什么,因为带spring后缀的可以使用<springProfile>这个标签。  --><!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 -->
<!-- scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true -->
<!-- scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。 -->
<!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 --><configuration debug="false"  scan="true" scanPeriod="10 seconds"><!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径--><!-- <springProfile name="dev,test,local"><property name="LOG_HOME" value="/log/user"/></springProfile><springProfile name="stage,prod"></springProfile>--><!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义变量后,可以使“${}”来使用变量。 --><property name="LOG_HOME" value="D:/log"/><!-- 日志的格式 --><property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/><!--输出到控制台--><appender name ="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息--><filter class="ch.qos.logback.classic.filter.ThresholdFilter"><level>debug</level></filter><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern><!-- 设置字符集 --><charset>UTF-8</charset></encoder></appender><!--  输出到文件    -->   <!-- 按照每天生成日志文件  level为 DEBUG 日志 --><appender name="DAILY_DEBUG_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender"><!--  正在记录的日志文件的路径 及文件名 --><file>${LOG_HOME}/demo_debug_log.log</file><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--><!--<pattern>%msg</pattern>--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern><charset>UTF-8</charset> <!-- 设置字符集 --></encoder><!-- 日志记录器的滚动策略,按日期,按大小记录 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志文件输出的文件名   日志归档 --><FileNamePattern>${LOG_HOME}/demo_debug_log.@build.finalName@.%d{yyyy-MM-dd}.log</FileNamePattern><!--日志文件保留天数--><MaxHistory>30</MaxHistory></rollingPolicy><!--日志文件最大的大小--><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><MaxFileSize>10MB</MaxFileSize></triggeringPolicy><!-- 此日志文件只记录DEBUG的级别 --><filter class ="ch.qos.logback.classic.filter.LevelFilter" ><level>debug</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter></appender><!-- 按照每天生成日志文件  level为 INFO 日志 --><appender name="DAILY_INFO_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender"><!--  正在记录的日志文件的路径 及文件名 --><file>${LOG_HOME}/demo_info_log.log</file><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--><!--<pattern>%msg</pattern>--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern><charset>UTF-8</charset> <!-- 设置字符集 --></encoder><!-- 日志记录器的滚动策略,按日期,按大小记录 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志文件输出的文件名   日志归档 --><FileNamePattern>${LOG_HOME}/demo_info_log.@build.finalName@.%d{yyyy-MM-dd}.log</FileNamePattern><!--日志文件保留天数--><MaxHistory>30</MaxHistory></rollingPolicy><!--日志文件最大的大小--><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><MaxFileSize>10MB</MaxFileSize></triggeringPolicy><!-- 此日志文件只记录DEBUG的级别 --><filter class ="ch.qos.logback.classic.filter.LevelFilter" ><level>info</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter></appender><!-- 按照每天生成日志文件  level为 WARN 日志 --><appender name="DAILY_WARN_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender"><!--  正在记录的日志文件的路径 及文件名 --><file>${LOG_HOME}/demo_warn_log.log</file><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--><!--<pattern>%msg</pattern>--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern><charset>UTF-8</charset> <!-- 设置字符集 --></encoder><!-- 日志记录器的滚动策略,按日期,按大小记录 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志文件输出的文件名   日志归档 --><FileNamePattern>${LOG_HOME}/demo_warn_log.@build.finalName@.%d{yyyy-MM-dd}.log</FileNamePattern><!--日志文件保留天数--><MaxHistory>30</MaxHistory></rollingPolicy><!--日志文件最大的大小--><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><MaxFileSize>10MB</MaxFileSize></triggeringPolicy><!-- 此日志文件只记录DEBUG的级别 --><filter class ="ch.qos.logback.classic.filter.LevelFilter" ><level>warn</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter></appender><!-- 按照每天生成日志文件  level为 ERROR 日志 --><appender name="DAILY_ERROR_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender"><!--  正在记录的日志文件的路径 及文件名 --><file>${LOG_HOME}/demo_error_log.log</file><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--><!--<pattern>%msg</pattern>--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern><charset>UTF-8</charset> <!-- 设置字符集 --></encoder><!-- 日志记录器的滚动策略,按日期,按大小记录 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志文件输出的文件名   日志归档 --><FileNamePattern>${LOG_HOME}/demo_error_log.@build.finalName@.%d{yyyy-MM-dd}.log</FileNamePattern><!--日志文件保留天数--><MaxHistory>30</MaxHistory></rollingPolicy><!--日志文件最大的大小--><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><MaxFileSize>10MB</MaxFileSize></triggeringPolicy><!-- 此日志文件只记录DEBUG的级别 --><filter class ="ch.qos.logback.classic.filter.LevelFilter" ><level>error</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter></appender><!--开发环境:打印控制台--><!-- <springProfile name="dev"><logger name="com.nmys.view" level="debug"/></springProfile>--><!--root节点是必选节点,用来指定最基础的日志输出级别,只有一个level属性level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,不能设置为INHERITED或者同义词NULL。默认是DEBUG可以包含零个或多个元素,标识这个appender将会添加到这个logger。--><!-- 日志输出级别 --><root level="debug"><appender-ref ref="CONSOLE" /><appender-ref ref="DAILY_DEBUG_LOG" /><appender-ref ref="DAILY_INFO_LOG" /><appender-ref ref="DAILY_WARN_LOG" /><appender-ref ref="DAILY_ERROR_LOG" /></root><!--<logger>用来设置某一个包或者具体的某一个类的日志打印级别、以及指定<appender>。<logger>仅有一个name属性,一个可选的level和一个可选的addtivity属性。name:用来指定受此logger约束的某一个包或者具体的某一个类。level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,还有一个特俗值INHERITED或者同义词NULL,代表强制执行上级的级别。如果未设置此属性,那么当前logger将会继承上级的级别。addtivity:是否向上级logger传递打印信息。默认是true。--><!-- 打印  Activiti日志  debug才会打印SQL语句<logger name="org.activiti" level="DEBUG" /><logger name="org.activiti.engine.impl.persistence.entity" level="DEBUG" />--><!--使用mybatis的时候,sql语句是debug下才会打印,而这里我们只配置了info,所以想要查看sql语句的话,有以下两种操作:第一种把<root level="info">改成<root level="DEBUG">这样就会打印sql,不过这样日志那边会出现很多其他消息第二种就是单独给dao下目录配置debug模式,代码如下,这样配置sql语句会打印,其他还是正常info级别:--></configuration>

3.在代码中添加日志:

不想每次都写private  final Logger logger = LoggerFactory.getLogger(XXX.class); 可以用注解@Slf4j

POM中添加 包:

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId>
</dependency>

4. 启动项目:

5.查看日志 ,会分别打印到 不同的日志文件中:

SpringBoot 集成 logBack相关推荐

  1. springboot 集成logback

    springboot 集成logback 1.application.properties配置文件指定logback.xml logging.config=classpath:logback.xml ...

  2. SpringBoot集成logback彩色日志配置以及banner启动设置(炫酷到爆炸!)

    文章目录 前言 一.banner配置 1.1 banner图像在线生成工具 1.2 banner配置颜色 1.3 banner启动状态控制 二.logback彩色日志配置 2.1 引入依赖 2.2 l ...

  3. springboot集成logback,报错java.lang.IllegalStateException: Logback configuration error detected:

    最近需要将一个springboot项目部署到一台新服务器上.而且新服务器是完全copy了旧服务器的环境与项目.但是在新服务器上启动该springboot项目,就一直报错 2019-03-18 18:5 ...

  4. springboot集成logback日志 通用logback.xml模板详解

    先看Spring Boot中依赖的logback,log4j,slf4j相关Jar包 1.最简单的默认打印控制台日志  import org.slf4j.Logger; import org.slf4 ...

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

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

  6. 【Java从0到架构师】交错的日志系统、SpringBoot 集成日志框架

    交错的日志系统.SpringBoot 集成日志框架 交错复杂的日志系统① - 多个项目实现 SLF4J 门面 交错复杂的日志系统② - 统一底层实现为 Logback 交错复杂的日志系统③ - 统一底 ...

  7. SpringBoot整合Logback

    简介 Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch.它当前分为下面下个模块: logback-core:其它两个模块的基础模块 l ...

  8. 【SpringBoot】 logback 日志的集成

    logback 日志的集成 logback.xml 配置文件 具体类中使用日志 使用默认日志配置 SpringBoot 核心知识点整理! Logback 是由 log4j 创始人设计的又一个开源日志组 ...

  9. java常用日志框架日志门面及实现 SLF4J 、Jboss-logging 、JCL、Log4j、Logback、Log4j2、JUL,springboot集成 log4j、log4j2

    java常用日志框架日志门面SLF4J .Jboss-logging .JCL.Log4j及实现 Logback.Log4j2.JUL,springboot集成 log4j.log4j2 .logba ...

  10. SpringBoot项目集成logback日志分等级配置

    背景: 日志的作用: boot项目集成logback: 一.单模块项目配置: 1.添加依赖 2.添加logback-spring.xml配置文件到resources目录下 3.接下来启动一下项目,就可 ...

最新文章

  1. java中的排序算法——插入排序详解
  2. Oozie中允许hive程序xml配置
  3. Java程序员到架构师的推荐阅读书籍
  4. 如何设置SecureCRT通过代理连接SSH[转]
  5. 已知二叉树先序和中序遍历结果,求后序遍历结果
  6. [atlassian]Bamboo server 和 remote agent 只支持JAVA 1.8
  7. 【Flink】Could not instantiate the executor. Make sure a planner module is on the classpath
  8. 记录C语言课程设计报告-图书管理系统
  9. 太突然!北大方正破产了!负债3029亿元!
  10. 如何在2019年开发Android应用程序:拥抱“新” Android
  11. 富文本编辑器复制Wod字体问题
  12. cywdhd在RK平台的适配
  13. 为什么手机网速太慢_为什么手机信号满格,网速却很慢?别再错怪手机了
  14. Java实现 LeetCode 522 最长特殊序列 II(查找最长的非子序列的长度)
  15. 【make】make常见问题
  16. 威胁聚焦:Phobos勒索软件名不虚传
  17. Python音频处理,录制播放
  18. 一个利用浏览器原生execCommand()方法实现的富文本编辑器
  19. python的fopen函数_打开文件fopen函数的用法
  20. linux下单Nginx部署文档

热门文章

  1. 马云谈加班、996看法
  2. VirtualBox 无法安装 已删除了注册表及文件
  3. 魔兽地图服务器修改,魔兽争霸3冰封王座地图编辑器修改无限人口的方法
  4. 如何利用PS制作炫酷背景图
  5. 二、MySQL 介绍及 MySQL 安装与配置
  6. 数理经济学中的无穷小方法
  7. 训练一个图像分类器demo in PyTorch【学习笔记】
  8. 联合舰队的覆灭(7)
  9. opencv3_java 图像的修剪裁剪Trimming Rect
  10. Kyrie Irving邀请粉丝加入Lineage Logistics的Share A Meal运动,帮助受COVID-19疫情影响的人们