最全SpringBoot日志配置-按照日期和日志级别进行归档
指定日志文件路径
在 spring的配置文件中配置:
logging:
config: classpath:logback.xm
日志配置
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="tue" scanPeriod="60 seconds"
debug="false">
<!-- application.yml 传递参数,不能使用logback 自带的<property>标签 -->
<!-- 日志输出路径,在yml文件中配置 -->
<springProperty scope="context" name="logdir"
source="logback.logdir" />
<!-- 文件名 -->
<springProperty scope="context" name="logName"
source="logback.name" />
<!-- 输出到控制台 Consoleappender -->
<appender name="consoleLog"
class="ch.qos.logback.core.ConsoleAppender">
<!-- 展示格式 layout -->
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%d{yyyy/MM/dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</layout>
</appender>
<!-- infoLog 输出 -->
<appender name="fileInfoLog"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 如果只是想要 info 级别的日志,只是过滤 info 还是会输出 error 日志,因为 Error 的日志级别更高。 使用下面的策略,可以避免输出
Error 日志 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤 Error -->
<level>ERROR</level>
<!-- 匹配到就禁止 -->
<onMatch>DENY</onMatch>
<!-- 没有匹配到就允许 -->
<onMismatch>ACCEPT</onMismatch>
</filter>
<!-- 日志名称,如果没有 File 属性,name只会使用FileNamePattern的文件路径规则 如果同时又<File>和<FileNamePattern>,那么当天日志时<File>.明天会自动把今天的日志名改为今天的日期
即:<File> 的日志都是当天的。 -->
<File>${logdir}/info.${logName}.log</File>
<!-- 滚动策略,按照时间滚动 TimeBasedRollingPolicy -->
<rollingPolicy
class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 文件路径,定义了日志的切分方式 把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间 -->
<FileNamePattern>${logdir}/info.${logName}.%d{yyyy-MM-dd}.log</FileNamePattern>
<!-- 设置 日志保留时间 30天 -->
<maxHistory>30</maxHistory>
<!-- 用来指定日志文件的上限大小,到上限之后会删除旧日志 -->
<!-- <totalSizeCap>1GB</totalSizeCap> -->
</rollingPolicy>
<!-- 日志输出编码格式化 -->
<encoder>
<charset>UTF-8</charset>
<pattern>%d{yyyy/MM/dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- Error 级别日志文件 -->
<appender name="fileErrorLog"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 如果只是想要 Error 级别的日志,那么需要过滤一下.默认是info 级别的,ThresholdFilter -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>Error</level>
</filter>
<!-- 日志名称,如果没有 File 属性,name只会使用FileNamePattern的文件路径规则 如果同时又<File>和<FileNamePattern>,那么当天日志时<File>.明天会自动把今天的日志名改为今天的日期
即:<File> 的日志都是当天的。 -->
<File>${logdir}/error.${logName}.log</File>
<!-- 滚动策略,按照时间滚动 TimeBasedRollingPolicy -->
<rollingPolicy
class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 文件路径,定义了日志的切分方式 把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间 -->
<FileNamePattern>${logdir}/error.${logName}.%d{yyyy-MM-dd}.log</FileNamePattern>
<!-- 设置 日志保留时间 30天 -->
<maxHistory>30</maxHistory>
<!-- 用来指定日志文件的上限大小,到上限之后会删除旧日志 -->
<!-- <totalSizeCap>1GB</totalSizeCap> -->
</rollingPolicy>
<!-- 日志输出编码格式化 -->
<encoder>
<charset>UTF-8</charset>
<pattern>%d{yyyy/MM/dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- 开发环境日志级别为DEBUG ,可以使用逗号分隔列表指定多个配置文件 -->
<springProfile name="dev">
<root level="INFO">
<appender-ref ref="consoleLog" />
<appender-ref ref="fileInfoLog" />
<appender-ref ref="fileErrorLog" />
</root>
</springProfile>
<springProfile name="test,prod">
<root level="INFO">
<appender-ref ref="consoleLog" />
<appender-ref ref="fileInfoLog" />
<appender-ref ref="fileErrorLog" />
</root>
</springProfile>
</configuration>
最全SpringBoot日志配置-按照日期和日志级别进行归档的更多相关文章
- log4j配置参数详解——按日志文件大小、日期切分日志文件
项目中尽管对log4j有基本的配置,例如按天生成日志文件以作区分,但如果系统日志文件过大,则就需要考虑以更小的单位切分或者其他切分方式.下面就总结一下log4j常用的配置参数以及切分日志的不同方式. ...
- 【转载】apache log配置 按日期写日志
指定apache日志每天生成一个文件 Linux系统配置方法 在apache的配置文件httpd.conf中找到 代码如下1 ErrorLog logs/error_log CustomLog log ...
- springboot添加log4j日志配置log4j.xml生成日志文件
第一步:添加pom文件依赖 <!-- log4j --> <dependency> <groupId>org.springframework.boot</gr ...
- Django 日志配置按日期滚动
记录下Django关于日期的配置,以及如何根据日期滚动切割日志的问题. 配置的源码在githun上 https://github.com/blackmatrix7/django-examples/tr ...
- (转)Springboot日志配置(超详细,推荐)
Spring Boot-日志配置(超详细) 更新日志: 20170810 更新通过 application.yml传递参数到 logback 中. Spring Boot-日志配置超详细 默认日志 L ...
- springboot 日志配置
maven依赖中添加了 spring-boot-starter-logging : <dependency> <groupId>org.springframework.boot ...
- SpringBoot | 第四章:日志配置(转)
前言 介于平时工作中,对于日志这块没有过多的接触,也就未有过多的了解.故在编写本文时,上官网查看了相关资料,奈何每个字母我都认识,但合起来就有点晕了,英文阅读水平还是有待大大的提高呀.最后觉得还是转载 ...
- Spring Boot 日志配置方法(超详细)
默认日志 Logback : 默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台.在运行应用程序和其他例子时,你应该已经看到很多INFO级别的日志了. 从上图 ...
- Spring Boot 日志配置
Spring Boot 日志配置 默认日志 Logback: 默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台.在运行应用程序和其他例子时,你应该已经看到很 ...
- 【转】Spring Boot 日志配置(超详细)
更新日志: 20170810 更新通过 application.yml传递参数到 logback 中. [toc] 简书不支持目录,截图一张. image.png 默认日志 Logback: 默认情况 ...
随机推荐
- UE4中HTC Vive 手柄如何抓取物体
想知道 HTC Vive 手柄如何抓取物体? HTC Vive 的手柄有许多功能,在游戏里你可以用手柄射箭,可以用手柄拾取木棍等等,但是这些是如何设置的呢?来看看我们的公开课教程吧. 本期教程为上半部 ...
- ArcMap分别求取矢量要素各区域的面积
本文介绍基于ArcMap软件,自动批量计算矢量图层中各个要素的面积的方法. 一次,遇到一个问题,需要分别计算ArcMap软件中一个图层的所有面要素的面积.如图,这个图层中包括多个省级行政区矢量 ...
- linux 性能自我学习 ———— 软中断 [五]
前言 linux 性能的自我学习. 正文 什么是软中断呢? 举一个网络的例子. linux 将中断处理过程分为两个阶段: 上半部用来快速处理中断,他在中断禁止模式下运行,注意是处理跟硬件紧密相关或时间 ...
- 【pytorch学习】之数据预处理
2 数据预处理 为了能用深度学习来解决现实世界的问题,我们经常从预处理原始数据开始,而不是从那些准备好的张量格式数据开始.在Python中常用的数据分析工具中,我们通常使用pandas软件包.像庞大的 ...
- 第 10 章 使用pyecharts 进行数据展示
第 10 章 使用pyecharts 进行数据展示 10.1 安装 pyecharts pyecharts 是一个用于生成 Echarts 图表的类库, Echarts 是百度开源的一个数据可视化JS ...
- 新型DDoS来袭 | 基于STUN协议的DDoS反射攻击分析
简介: 作为新型反射类型,目前仍存绕过防御可能性. 阿里云安全近期发现利用STUN(Session Traversal Utilities for NAT,NAT会话穿越应用程序)服务发起的DDoS反 ...
- CPU Burst有副作用吗?让数学来回答!| 龙蜥技术
简介: 使用CPU Burst的副作用是什么?是否有不适用的场景呢?戳我给你答案~ 编者按:CPU Burst 特性已合入 Linux 5.14,Anolis OS 8.2.Alibaba Clou ...
- dotnet OpenXML 解析 PPT 图表 面积图入门
本文告诉大家如何使用 OpenXML 解析 PPT 的图表,以面积图为入门例子告诉大家 OpenXML 的存储 在 PPT 里面,有强大的图表功能,可以联动 Excel 展示数据.在 PPT 里面的图 ...
- vscode 配置c/c++环境,无法生成 *.exe文件
[问题]: 使用vscode配置c/c++环境时,提示无法构建失败. [解决方案]: 1. 当前结合网上找的资料已经检查过,tasks.json和launch.json文件,并无配置错误. 2. ...
- .NET Aspire 预览版 6 发布
.NET Aspire 预览版 6 引入了一系列重大更新,主要包括 API 的重大更改.安全性和可靠性的提升.新的资源和组件.应用程序主机的更新.测试支持.模板更新.组件更新.Azure 配置包的更新 ...