springboot日志logback配置

  1 <?xml version="1.0" encoding="UTF-8"?>
  2 <!--
  3     scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。
  4     scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒;当scan为true时,此属性生效。默认的时间间隔为1分钟。
  5     debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。
  6 -->
  7 <configuration scan="false" scanPeriod="60 seconds" debug="false">
  8     <!-- 定义日志的根目录 -->
  9     <property name="LOG_HOME" value="logs"/>
 10     <!-- 定义日志文件名称 -->
 11     <property name="appName" value="log"></property>
 12     <!-- ch.qos.logback.core.ConsoleAppender 表示控制台输出 -->
 13     <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
 14         <!--
 15         日志输出格式:
 16             %d表示日期时间,
 17             %thread表示线程名,
 18             %-5level:级别从左显示5个字符宽度
 19             %logger{50} 表示logger名字最长50个字符,否则按照句点分割。
 20             %msg:日志消息,
 21             %n是换行符
 22         -->
 23         <layout class="ch.qos.logback.classic.PatternLayout">
 24             <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} ==> [%thread] ==> %-5level %logger{50} - %msg%n</pattern>
 25         </layout>
 26     </appender>
 27
 28     <!-- 滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件 -->
 29     <appender name="appLogAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
 30         <!-- 指定日志文件的名称 -->
 31         <file>${LOG_HOME}/${appName}.log</file>
 32         <!--
 33         当发生滚动时,决定 RollingFileAppender 的行为,涉及文件移动和重命名
 34         TimeBasedRollingPolicy: 最常用的滚动策略,它根据时间来制定滚动策略,既负责滚动也负责出发滚动。
 35         -->
 36         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
 37             <!--
 38             滚动时产生的文件的存放位置及文件名称 %d{yyyy-MM-dd}:按天进行日志滚动
 39             %i:当文件大小超过maxFileSize时,按照i进行文件滚动
 40             -->
 41             <fileNamePattern>${LOG_HOME}/${appName}-%d{yyyy-MM-dd}-%i.log</fileNamePattern>
 42             <!--
 43             可选节点,控制保留的归档文件的最大数量,超出数量就删除旧文件。假设设置每天滚动,
 44             且maxHistory是365,则只保存最近365天的文件,删除之前的旧文件。注意,删除旧文件是,
 45             那些为了归档而创建的目录也会被删除。
 46             -->
 47             <MaxHistory>365</MaxHistory>
 48             <!--
 49             当日志文件超过maxFileSize指定的大小时,根据上面提到的%i进行日志文件滚动
 50             注意此处配置SizeBasedTriggeringPolicy是无法实现按文件大小进行滚动的,必须配置timeBasedFileNamingAndTriggeringPolicy
 51             -->
 52             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
 53                 <maxFileSize>1KB</maxFileSize>
 54             </timeBasedFileNamingAndTriggeringPolicy>
 55         </rollingPolicy>
 56         <!-- 日志输出格式: -->
 57         <layout class="ch.qos.logback.classic.PatternLayout">
 58             <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [ %thread ] - [ %-5level ] [ %logger{50} : %line ] - %msg%n</pattern>
 59         </layout>
 60         <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印ERROR日志 -->
 61             <level>ERROR</level>
 62             <onMatch>ACCEPT</onMatch>
 63             <onMismatch>DENY</onMismatch>
 64         </filter>
 65     </appender>
 66
 67     <!--输出到error-->
 68     <appender name="appLogAppenderError" class="ch.qos.logback.core.rolling.RollingFileAppender">
 69         <!-- 指定日志文件的名称 -->
 70         <file>${LOG_HOME}/${appName}-error.log</file>
 71         <!--
 72         当发生滚动时,决定 RollingFileAppender 的行为,涉及文件移动和重命名
 73         TimeBasedRollingPolicy: 最常用的滚动策略,它根据时间来制定滚动策略,既负责滚动也负责出发滚动。
 74         -->
 75         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
 76             <!--
 77             滚动时产生的文件的存放位置及文件名称 %d{yyyy-MM-dd}:按天进行日志滚动
 78             %i:当文件大小超过maxFileSize时,按照i进行文件滚动
 79             -->
 80             <fileNamePattern>${LOG_HOME}/${appName}-error-%d{yyyy-MM-dd}-%i.log</fileNamePattern>
 81             <!--
 82             可选节点,控制保留的归档文件的最大数量,超出数量就删除旧文件。假设设置每天滚动,
 83             且maxHistory是365,则只保存最近365天的文件,删除之前的旧文件。注意,删除旧文件是,
 84             那些为了归档而创建的目录也会被删除。
 85             -->
 86             <MaxHistory>365</MaxHistory>
 87             <!--
 88             当日志文件超过maxFileSize指定的大小时,根据上面提到的%i进行日志文件滚动
 89             注意此处配置SizeBasedTriggeringPolicy是无法实现按文件大小进行滚动的,必须配置timeBasedFileNamingAndTriggeringPolicy
 90             -->
 91             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
 92                 <maxFileSize>1KB</maxFileSize>
 93             </timeBasedFileNamingAndTriggeringPolicy>
 94         </rollingPolicy>
 95         <!-- 日志输出格式: -->
 96         <layout class="ch.qos.logback.classic.PatternLayout">
 97             <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [ %thread ] - [ %-5level ] [ %logger{50} : %line ] - %msg%n</pattern>
 98         </layout>
 99         <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印ERROR日志 -->
100             <level>ERROR</level>
101             <onMatch>ACCEPT</onMatch>
102             <onMismatch>DENY</onMismatch>
103         </filter>
104     </appender>
105
106
107     <!--
108         logger主要用于存放日志对象,也可以定义日志类型、级别
109         name:表示匹配的logger类型前缀,也就是包的前半部分
110         level:要记录的日志级别,包括 TRACE < DEBUG < INFO < WARN < ERROR
111         additivity:作用在于children-logger是否使用 rootLogger配置的appender进行输出,
112         false:表示只用当前logger的appender-ref,true:
113         表示当前logger的appender-ref和rootLogger的appender-ref都有效
114     -->
115     <!-- app logger -->
116     <logger name="com.qianxingniwo" level="debug"/>
117     <!-- Spring framework logger -->
118     <logger name="org.springframework" level="debug" additivity="false"></logger>
119
120     <!--
121     root与logger是父子关系,没有特别定义则默认为root,任何一个类只会和一个logger对应,
122     要么是定义的logger,要么是root,判断的关键在于找到这个logger,然后判断这个logger的appender和level。
123     -->
124     <root level="info">
125         <appender-ref ref="stdout"/>
126         <appender-ref ref="appLogAppender"/>
127         <appender-ref ref="appLogAppenderError"/>
128     </root>
129 </configuration>

原文地址:https://www.cnblogs.com/newAndHui/p/10670394.html

时间: 2024-10-08 18:28:48

springboot日志logback配置的相关文章

Springboot 日志管理配置logback-spring.xml

几种常见的日志 Log4j:是最早的日志框架,是apach旗下的,可以单独使用,也可配合日志框架JCL使用: Log4j2:apach旗下的关于log4j的升级版: Logback:是基于slf4j接口实现的一套日志框架组件:(Logback是由log4j创始人设计的又一个开源日志组件.) JUL(java utillog):仿log4j实现的日志框架,是sun旗下的,(也就是在我们普遍使用的jdk中): Commons loggin:是一套日志接口(apache): Slf4j:也是一套日志接

SpringBoot(十) Logback 配置详解

一.了解 简单地说,Logback 是一个 Java 领域的日志框架.它被认为是 Log4J 的继承人.Logback 主要由三个模块组成: logback-core logback-classic logback-access logback-core 是其它模块的基础设施,其它模块基于它构建,显然,logback-core 提供了一些关键的通用机制.logback-classic 的地位和作用等同于 Log4J,它也被认为是 Log4J 的一个改进版,并且它实现了简单日志门面 SLF4J:而

SpringBoot 日志配置

SpringBoot 日志的配置 如果不配置日志,默认配置是 base.xml 配置日志 在 resource 目录下新建 logback.xml <?xml version="1.0" encoding="UTF-8"?> <configuration debug="false"> <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径--> <property name="

spring-boot logback日志常用配置解释

1)引入 spring-boot默认日志系统就是logback日志框架 spring-boot引入logback的maven依赖关系树如下: 2)配置 在application.properties文件中 #backlog setting logging.config=logback-spring.xml 或者在 application-dev.yml文件中 logging: config: classpath:logback-spring.xml logback-spring.xml配置详解

JAVAEE——SpringBoot日志篇:日志框架SLF4j、日志配置、日志使用、切换日志框架

Spring Boot 日志篇 1.日志框架(故事引入) 小张:开发一个大型系统: ? 1.System.out.println(""):将关键数据打印在控制台:去掉?写在一个文件? ? 2.框架来记录系统的一些运行时信息:日志框架 : zhanglogging.jar: ? 3.高大上的几个功能?异步模式?自动归档?xxxx? zhanglogging-good.jar? ? 4.将以前框架卸下来?换上新的框架,重新修改之前相关的API:zhanglogging-prefect.ja

springboot整合logback集成elk实现日志的汇总、分析、统计和检索功能

在Spring Boot当中,默认使用logback进行log操作.logback支持将日志数据通过提供IP地址.端口号,以Socket的方式远程发送.在Spring Boot中,通常使用logback-spring.xml来进行logback配置. 首先.创建一个elk的springboot项目,然后先对logback进行配置,配置各项的详细说明可以去看http://aub.iteye.com/blog/1101222,说的很详细.也多参考一下别人关于日志的描述https://www.cnbl

springBoot日志框架自动配置与原理

1.日志框架 小张:开发一个大型系统: ? 1.System.out.println(""):将关键数据打印在控制台:去掉?写在一个文件? ? 2.框架来记录系统的一些运行时信息:日志框架 : zhanglogging.jar: ? 3.高大上的几个功能?异步模式?自动归档?xxxx? zhanglogging-good.jar? ? 4.将以前框架卸下来?换上新的框架,重新修改之前相关的API:zhanglogging-prefect.jar: ? 5.JDBC---数据库驱动: ?

Spring Boot - Logback配置日志要考虑哪些因素

Spring Boot - Logback配置日志 出于性能等原因,Logback 目前是springboot应用日志的标配: 当然有时候在生产环境中也会考虑和三方中间件采用统一处理方式.@pdai Spring Boot - Logback配置日志 配置时考虑点 实现范例 综合范例 在配置前可以参考如下文章 參考文档 代码示例 最全的Java后端知识体系 https://www.pdai.tech, 每天更新中.... 配置时考虑点 支持日志路径,日志level等配置 日志控制配置通过appl

springBoot日志快速上手简单配置

默认配置 日志级别从低到高分为: TRACE < DEBUG < INFO < WARN < ERROR < FATAL. 如果设置为 INFO ,则低于 INFO 的信息都不会输出其他的依次类推 默认情况下,Spring Boot会用Logback来记录内部日志,并用INFO级别输出到控制台你不用做任何设置 从上图可以看到,日志输出内容元素具体如下: 时间日期:精确到毫秒 日志级别: 进程ID 分隔符:--- 标识实际日志的开始 线程名:方括号括起来(可能会截断控制台输出)