spring boot集成loback日志配置

1.spring boot中application.properties配置

logging.config=classpath:loback-config.xml

2.配置loback-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 -->
<!-- scan:当此属性设置为true时,配置文档如果发生改变,将会被重新加载,默认值为true -->
<!-- scanPeriod:设置监测配置文档是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。 当scan为true时,此属性生效。默认的时间间隔为1分钟。 -->
<!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->
<configuration scan="true" scanPeriod="60 seconds" debug="false"><!--需要使用springProperty,才可使用application.properties(或application.yml)中的值 --><springProperty name="app.name" source="spring.application.name" default="111"/><!-- 定义日志目录 --><property name="DEBUG_LOG_PATH" value="../../logs/demo/debug"/><property name="INFO_LOG_PATH" value="../../logs/demo/info"/><property name="WARN_LOG_PATH" value="../../logs/demo/warn"/><property name="ERROR_LOG_PATH" value="../../logs/demo/error"/><!-- 定义日志保留天数 --><property name="MAX_HISTORY" value="7"/><!-- 定义日志文件总大小 --><property name="TOTAL_SIZE_CAP" value="10GB"/><!-- 定义单个日志文件大小 --><property name="MAX_FILE_SIZE" value="10MB"/><!-- 输出到控制台 --><appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><encoder><!-- 日志输出格式 --><!--<pattern>[%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36}: %msg%n</pattern>--><!--日期 日志等级 PID 线程名 类路径 方法名 java源文件 行号 打印信息 换行--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%5p) %green(${PID:- }) - %magenta([%15.15t]) %cyan(%C.%M\(%F:%L\)) : %msg%n</pattern><!--同上, 仅输出类路径, 不输出 方法名 java源文件 行号 --><!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%5p) %green(${PID:- }) - %magenta([%15.15t]) %cyan(%-40.40logger{40}) : %msg%n</pattern>--></encoder></appender><!-- 只输出DEBUG日志 --><appender name="DEBUG_LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${DEBUG_LOG_PATH}/debug.log</file><!-- 基于文件大小和时间的滚动策略 --><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><fileNamePattern>${DEBUG_LOG_PATH}/debug-%d{yyyy-MM-dd}-%i.log</fileNamePattern><!-- 日志文件保留天数 --><maxHistory>${MAX_HISTORY}</maxHistory><!-- 日志归档文件总大小 --><totalSizeCap>${TOTAL_SIZE_CAP}</totalSizeCap><!-- 单个日志文件大小 --><maxFileSize>${MAX_FILE_SIZE}</maxFileSize></rollingPolicy><!-- 日志输出格式 --><encoder><pattern>[%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36}: %msg%n</pattern><charset>UTF-8</charset></encoder><!-- 日志过滤 --><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 指定日志级别 --><level>DEBUG</level><!-- 匹配则全部接受 --><onMatch>ACCEPT</onMatch><!-- 不匹配则全部拒绝 --><onMismatch>DENY</onMismatch></filter></appender><!-- 只输出INFO日志 --><appender name="INFO_LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${INFO_LOG_PATH}/info.log</file><!-- 基于文件大小和时间的滚动策略 --><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><fileNamePattern>${INFO_LOG_PATH}/info-%d{yyyy-MM-dd}-%i.log</fileNamePattern><!-- 日志文件保留天数 --><maxHistory>${MAX_HISTORY}</maxHistory><!-- 日志归档文件总大小 --><totalSizeCap>${TOTAL_SIZE_CAP}</totalSizeCap><!-- 单个日志文件大小 --><maxFileSize>${MAX_FILE_SIZE}</maxFileSize></rollingPolicy><!-- 日志输出格式 --><encoder><pattern>[%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36}: %msg%n</pattern><charset>UTF-8</charset></encoder><!-- 日志过滤 --><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 指定日志级别 --><level>INFO</level><!-- 匹配则全部接受 --><onMatch>ACCEPT</onMatch><!-- 不匹配则全部拒绝 --><onMismatch>DENY</onMismatch></filter></appender><!-- 只输出WARN日志 --><appender name="WARN_LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${WARN_LOG_PATH}/warn.log</file><!-- 基于文件大小和时间的滚动策略 --><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><fileNamePattern>${WARN_LOG_PATH}/warn-%d{yyyy-MM-dd}-%i.log</fileNamePattern><!-- 日志文件保留天数 --><maxHistory>${MAX_HISTORY}</maxHistory><!-- 日志归档文件总大小 --><totalSizeCap>${TOTAL_SIZE_CAP}</totalSizeCap><!-- 单个日志文件大小 --><maxFileSize>${MAX_FILE_SIZE}</maxFileSize></rollingPolicy><!-- 日志输出格式 --><encoder><pattern>[%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36}: %msg%n</pattern><charset>UTF-8</charset></encoder><!-- 日志过滤 --><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 指定日志级别 --><level>WARN</level><!-- 匹配则全部接受 --><onMatch>ACCEPT</onMatch><!-- 不匹配则全部拒绝 --><onMismatch>DENY</onMismatch></filter></appender><!-- 只输出ERROR日志 --><appender name="ERROR_LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${ERROR_LOG_PATH}/error.log</file><!-- 基于文件大小和时间的滚动策略 --><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><fileNamePattern>${ERROR_LOG_PATH}/error-%d{yyyy-MM-dd}-%i.log</fileNamePattern><!-- 日志文件保留天数 --><maxHistory>${MAX_HISTORY}</maxHistory><!-- 日志归档文件总大小 --><totalSizeCap>${TOTAL_SIZE_CAP}</totalSizeCap><!-- 单个日志文件大小 --><maxFileSize>${MAX_FILE_SIZE}</maxFileSize></rollingPolicy><!-- 日志输出格式 --><encoder><pattern>[%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36}: %msg%n</pattern><charset>UTF-8</charset></encoder><!-- 日志过滤 --><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 指定日志级别 --><level>ERROR</level><!-- 匹配则全部接受 --><onMatch>ACCEPT</onMatch><!-- 不匹配则全部拒绝 --><onMismatch>DENY</onMismatch></filter></appender><!-- <logger>用来设置某一个包或者具体的某一个类的日志打印级别、以及指定<appender>。<logger>仅有一个name属性,一个可选的level和一个可选的addtivity属性。name:用来指定受此logger约束的某一个包或者具体的某一个类。level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,还有一个特俗值INHERITED或者同义词NULL,代表强制执行上级的级别。如果未设置此属性,那么当前logger将会继承上级的级别。addtivity:是否向上级logger传递打印信息。默认是true --><!--使用mybatis的时候,sql语句是debug下才会打印,而这里我们只配置了info,所以想要查看sql语句的话,有以下两种操作:第一种把<root level="info">改成<root level="DEBUG">这样就会打印sql,不过这样日志那边会出现很多其他消息第二种就是单独给dao下目录配置debug模式,代码如下,这样配置sql语句会打印,其他还是正常info级别:--><!--    <logger name="com.xmc.biz.mapper" level="DEBUG" />--><!--root节点是必选节点,用来指定最基础的日志输出级别,只有一个level属性level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,不能设置为INHERITED或者同义词NULL。默认是DEBUG  可以包含零个或多个元素,标识这个appender将会添加到这个logger。--><!--用来指定受此logger约束的某一个包或者具体的某一个类。--><!-- 系统模块日志级别控制  --><logger name="com.example.demo" level="debug" /><!-- Spring日志级别控制  --><logger name="org.springframework" level="warn" /><root level="INFO"><appender-ref ref="INFO_LOG_FILE"/><appender-ref ref="ERROR_LOG_FILE"/><appender-ref ref="WARN_LOG_FILE"/><appender-ref ref="DEBUG_LOG_FILE"/><appender-ref ref="CONSOLE"/></root></configuration>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/631521.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

django后台手机号加密存储

需求&#xff1a; 1 &#xff1a;员工在填写用户的手机号时&#xff0c;直接填写&#xff0c;在django后台中输入 2&#xff1a;当员工在后台确认要存储到数据库时&#xff0c;后台将会把手机号进行加密存储&#xff0c;当数据库被黑之后&#xff0c;手机号字段为加密字符 3&am…

AVL树 -- C++实现

AVL树 – C实现 1. AVL树的概念 二叉搜索树虽可以缩短查找的效率&#xff0c;但如果数据有序或接近有序二叉搜索树将退化为单支树&#xff0c;查找元素相当于在顺序表中搜索元素&#xff0c;效率低下。因此&#xff0c;两位俄罗斯的数学家G.M.Adelson-Velskii和E.M.Landis在1…

【软件测试】学习笔记-精准测试

软件测试行业从最开始的手工测试到自动化测试&#xff0c;从黑盒测试到白盒测试&#xff0c;测试理念和技术都发生了日新月异的变化。现如今&#xff0c;几乎所有的软件公司都有一套强大且复杂的自动化测试用例&#xff0c;用来夜以继日地保证产品的正确性和稳定性。 然而&…

selenium爬虫爬取当当网书籍信息 | 最新!

如果对selenium不了解的话可以到下面的链接中看基础内容&#xff1a; selenium爬取有道翻译-CSDN博客 废话不多说了下面是代码并且带有详细的注释&#xff1a; 爬取其他类型的书籍和下面基本上是类似的可以自行更改。 # 导入所需的库 from selenium import webdriver from …

yolov5数据增强避免目标残缺的代码处理

在训练小目标检测的时候,yolov5数据常用的增强会导致目标残缺,特别是对文字目标进行检测的时候,增强导致文字目标残缺后,训练出的模型常常会出现误检,将部分笔画检测出文字;所以就对目标中的数据增强后的结果做了合适的处理: 替换代码包括(utils/datasets.pyutils/dat…

距离场和距离变换:distance_transform

一、说明 你知道图像处理的骨架这个概念吗?如果知道,你能解释清楚什么算法生成骨架吗?从一堆横竖叠加的扑克牌中,你能整理出几张牌,并保存牌的花色信息吗?如果您对上述提问存在疑虑,那么就好好看看本文吧。 二、距离变换描述 2.1 提出距离场的概念 距离变换,也称为距…

6.3.3分离音频和视频

6.3.3分离音频和视频 Camtasia4有一个很实用的功能&#xff0c;那就是能够把视频片段中的视频和音频分离开来&#xff0c;这在多媒体作品创作中非常有用。 1&#xff0e;启动Camtasia音频编辑器。 2&#xff0e;选择【文件】|【打开】命令&#xff0c;在弹出的“打开文件”对…

【Spring Boot 3】【Redis】集成Lettuce

【Spring Boot 3】【Redis】集成Lettuce 背景介绍开发环境开发步骤及源码工程目录结构总结背景 软件开发是一门实践性科学,对大多数人来说,学习一种新技术不是一开始就去深究其原理,而是先从做出一个可工作的DEMO入手。但在我个人学习和工作经历中,每次学习新技术总是要花…

企业面临哪些能源消耗问题,能源消耗监测管理系统是如何解决这些问题?

随着全球环境问题的日益严重&#xff0c;能源问题一直被世界广泛关注。在企业运营过程中&#xff0c;能源消耗问题也是一大挑战。企业在生产和运营过程中需要大量的能源支持&#xff0c;包括电、水、气、热等多种能源。由于能源价格的不稳定性&#xff0c;使得企业在能源消耗方…

【北亚企安数据恢复】RAIDZ多块磁盘离线导致服务器崩溃的数据恢复案例

服务器数据恢复环境&#xff1a; ORACLE SUN ZFS某型号存储&#xff0c;共40块磁盘组建存储池&#xff0c;其中的36块磁盘分为三组&#xff0c;每组12块&#xff0c;单个组使用ZFS特有的RAIDZ管理所有磁盘&#xff0c;RAIDZ级别为2&#xff1b;另外的4块磁盘作为全局热备。存储…

Dubbo分层设计之Exchange层

前言 Dubbo 框架采用分层设计&#xff0c;自上而下共分为十层。Exchange 层位于倒数第三层&#xff0c;它在 协议层 的下方、数据传输层的上方。 第一次看源码的时候&#xff0c;大家应该都会有一个疑问&#xff1a;都已经有 Transport 层了&#xff0c;为啥还要定义 Exchange…

JAVA调试webservice接口

java程序调试webservice接口可以使用调用工具进行调试&#xff0c;对应的调试工具 可在这个目录下面下载 SoapUI 下载地址&#xff1a;https://www,soapui.org/ 一、webservice项目可以使用soapUi 可以使用工具进行调试的前提是这个接口地址必须在前端的浏览器能够正常的打…

HttpServletRequest getRemoteHost()、getServerName()、getLocalName()区别

getRemoteHost()、getServerName()、getLocalName()区别 request.getRemoteHost()&#xff1a; 返回客户端主机的名称&#xff0c;而不是直接的IP地址 实现机制通常是通过DNS反向查询 request.getRemoteAddr() 返回的IP地址以得到对应的主机名。如果反向解析失败、出于性能原…

python中print函数的用法

在 Python 中,print() 函数是用于输出信息到控制台的内置函数。它可以将文本、变量、表达式等内容打印出来,方便程序员进行调试和查看结果。print() 函数的基本语法如下: ``` print(*objects, sep= , end=\n, file=sys.stdout, flush=False) ``` 其中,objects 是要打印…

uniapp 获取外设键盘输入(扫码器/扫码枪/读卡器等)

前言 在使用uniapp开发收银机等设备时&#xff0c;常常会用到使用键盘输入的外设&#xff0c;如使用扫码器/扫码枪读取条形码/二维码等&#xff0c;及使用读卡器读取卡ID&#xff08;需要读卡器支持键盘输入卡ID&#xff0c;此种方式只支持读取未加密的卡ID信息&#xff0c;读…

通过OpenIddict设计一个授权服务器03-客户凭证流程

在本部分中&#xff0c;我们将把 OpenIddict 添加到项目中&#xff0c;并实施第一个授权流程&#xff1a;客户端凭证流。 添加 OpenIddict 软件包 首先&#xff0c;我们需要安装 OpenIddict NuGet 软件包 dotnet add package OpenIddict dotnet add package OpenIddict.AspN…

uniapp+vue3打包问题记录

**背景&#xff1a;**打包app出现问题&#xff0c;只显示底部导航的文字&#xff0c;其他一片空白 1. pages.json文件&#xff1a;tabBar中的iconPath图标格式不支持svg&#xff0c;只支持&#xff1a;png, jpg, jpeg的格式&#xff0c;当图片改为.png的时候可以正常显示 2. …

【数学建模】2024年华数杯国际赛B题-光伏发电Photovoltaic Power 思路、代码、参考论文

1 问题背景 中国电力构成包括传统能源(如煤炭、石油、天然气)、可再生能源(如水电、风能、太阳能、核能)和其他形式的电力。这些发电模式在满足中国巨大的电力需求方面发挥着至关重要的作用。据最新数据显示&#xff0c;中国总发电量超过20万亿千瓦时&#xff0c;居世界第一。…

idea社区版 MybatisCodeHelperPro插件使用介绍

文章目录 一、插件介绍二、idea社区版安装MybatisCodeHelperPro插件三、问题记录1. DatabaseHelper插件 加载不了部分数据库链接的列信息2. DatabaseHelper插件 数据库列显示顺序错乱3. MybatisCodeHelperPro插件 数据库字段不提示4. MybatisCodeHelperPro插件 特殊字段增加反引…

Skywalking链路追踪

目录 一、简介1.1、APM系统1.2、SkyWalking 简介 二、快速入门2.1、下载、启动2.2、界面认识 三、持久化存储四、告警通知五、自定义追踪-细粒度追踪service方法 一、简介 1.1、APM系统 APM&#xff08;Application Performance Monitoring&#xff09;系统是一种用于监控和管…