当前位置: 首页 > news >正文

springboot配置ym管理各种日记(log)

1:yml配置mybatis_plus默认日记框架

mybatis-plus:#这个作用是扫描xml文件生效可以和mapper接口文件使用,#如果不加这个,就无法使用xml里面的sql语句#启动类加了@MapperScan是扫描指定包下mapper接口生效,如果不用@MapperScan可以在每一个mapper接口添加@Mapper注解mapper-locations: classpath*:com/example/poi/mapper/**/xml/*Mapper.xmlglobal-config:# 关闭MP3.0自带的bannerbanner: falsedb-config:#主键类型id-type: ASSIGN_ID# 默认数据库表下划线命名table-underline: trueconfiguration:# 这个配置会将执行的sql打印出来,在开发或测试的时候可以用log-impl: org.apache.ibatis.logging.stdout.StdOutImpl# 返回类型为Map,显示null对应的字段call-setters-on-nulls: truelogging:level:# 日记级别,设置的越小捕抓的信息越多 trace<debug<info<warn<error#root 键指定了根日志记录器的级别为 INFOroot: INFO#com.baomidou.mybatisplus 包下的日志记录器级别为 DEBUGcom.baomidou.mybatisplus: INFOfile:#保留了最近 30 天的日志max-history: 30#每个日记大小,当日记达到100M但还没到达下一天就生成一个新的文件按i序号max-size: 100MB#保存日记实际路径,确保指定的路径对应的目录已存在,并具有具有的写入权限pattern: /home/app/logs//mybatis-%d{yyyy-MM-dd}-%i.log#设置日志文件夹存储总大小的上限,超过就删除旧的total-size-cap: 1GB

在这里插入图片描述

1-1: 如果不需要控制台打印parsee mapper file之类信息,可以修改mabatis日记框架,不使用默认StdOutImpl,使用Slf4jImpl,同时加上logiing管理日记,如下

  configuration:
#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpllog-impl: org.apache.ibatis.logging.slf4j.Slf4jImplcall-setters-on-nulls: truelogging:level:root: infocom.baomidou.mybatisplus: debugpath: G:\temptemptemp\logs
  • 这个可以设计日记在控制台输出,如果日记输出最小为debug日记,如果设计日记级别高就不输出,设置级别底trace也是日记最小输出debug
  • 可以设置日记自己权重打印相应信息出来,查看项目启动情况,trace<debug<info<warn<error

2:使用logback-spring.xml生成日记管理,在resource项目下生成文件,文件内容如下

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<configuration><!-- 日志文件路径 --><springProperty scope="context" name="logPath" source="log.logPath"/><!-- 日志文件名称 --><springProperty scope="context" name="logName" source="log.logName"/><!--    <logger name="org.springframework.web" level="WARN"/>-->
<!--    <logger name="org.springboot.sample" level="WARN"/>-->
<!--    <logger name="com.example.poi" level="INFO"/>-->
<!--    这个是可以输出mybatis信息,要在yml配置mybatis的日记框架-->
<!--    <logger name="org.mybatis" level="INFO"/>--><appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level -&#45;&#45; [%thread] %logger Line:%-3L - %msg%n</pattern><charset>UTF-8</charset></encoder></appender><appender name="WEB_CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level -&#45;&#45; [%thread] %logger Line:%-3L - %msg%n</pattern><charset>UTF-8</charset></encoder></appender><!-- debug 日志文件 --><appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><!-- 正在记录的日志文档的路径及文档名 --><file>${logPath}${logName}.log</file><!--日志文档输出格式--><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level -&#45;&#45; [%thread] %logger Line:%-3L - %msg%n</pattern><charset>UTF-8</charset></encoder><!-- 日志记录器的滚动策略,按日期,按大小记录 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 日志归档 --><fileNamePattern>${logPath}${logName}-%d{yyyy-MM-dd}.%i.log</fileNamePattern><timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"><maxFileSize>256MB</maxFileSize></timeBasedFileNamingAndTriggeringPolicy><!--日志文档保留天数--><maxHistory>1</maxHistory></rollingPolicy></appender><root level="INFO"><appender-ref ref="FILE"/><appender-ref ref="CONSOLE"/>
<!--        <appender-ref ref="WEB_CONSOLE"/>--></root></configuration>

< root> 是用来设置默认的日志级别和输出目标,而 < logger> 则是用来针对特定的包或类进行更细粒度的日志配置。两者都可以设置 level 属性,但 < logger> 的级别配置会覆盖 < root> 的默认级别

2-1:如果控制台需要输出mybatis的具体sql信息需要在yml配置mybatis的日记输出框架

  configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

System.out.println不能打印到输出日记

com.example.poi.mapper: trace

2-2:如果要将sql执行记录输出到日记,需要在配置日记输出指定mapper路径,如下

logging:level:root: infocom.baomidou.mybatisplus: infocom.example.poi.mapper: infopath: G:\temptemptemp\logs

在这里插入图片描述

相关文章:

springboot配置ym管理各种日记(log)

1&#xff1a;yml配置mybatis_plus默认日记框架 mybatis-plus:#这个作用是扫描xml文件生效可以和mapper接口文件使用&#xff0c;#如果不加这个,就无法使用xml里面的sql语句#启动类加了MapperScan是扫描指定包下mapper接口生效&#xff0c;如果不用MapperScan可以在每一个mapp…...

你知道Vue 3.0中Treeshaking特性吗?

介绍 Vue 3.0引入了Tree-shaking特性&#xff0c;旨在优化构建过程并减小最终生成的代码大小。Tree-shaking是一种在构建时移除未使用代码的技术&#xff0c;通过分析模块的依赖关系&#xff0c;将没有被引用的部分从最终的打包文件中排除掉。这可以大大减少应用的体积&#x…...

TP6 开启关闭debug

config 不起作用&#xff0c;还得来这里改&#xff1a; 或者单个方法里加&#xff1a; $this->app->debug(true); //临时错误调试...

Linux centos7 bash编程(break和continue)

在学习shell知识时&#xff0c;简单编程要从格式入手。 首先学习好单行注释和多行注释。 先学习简单整数的打印输出&#xff0c;主要学习echo命令&#xff0c;学习选项-e -n的使用。 下面的练习是常用的两个分支跳转程序&#xff1a;break和continue。 #!/bin/bash # 这是单…...

【论文精读AAAI_2022】MobileFaceSwap: A Lightweight Framework for Video Face Swapping

【论文精读AAAI_2022】MobileFaceSwap: A Lightweight Framework for Video Face Swapping 一、前言AbstractIntroductionRelated WorkFace swapping.Dynamic neural networks.Knowledge distillation.MethodNetwork ArchitectureTraining ObjectivesExperimentsQualitative Re…...

rust中使用sqlite 之 rusqlite使用

名称版本rusqlite0.29.0impl From<&rusqlite::Row<_>> for Person {fn from(r: &rusqlite...

Linux系统Ubuntu配置Docker详细流程

本文介绍在Linux操作系统Ubuntu的18.04及以上版本中&#xff0c;配置开源容器化平台和工具集Docker的详细方法&#xff1b;其中&#xff0c;我们以配置Docker平台的核心组件之一——Docker Engine为例来详细介绍。 首先&#xff0c;大家需要明确&#xff0c;我们常说的Docker&a…...

能直接运营的发接任务平台小程序搭建开发演示

有个项目估计做过互联网的小伙伴都听说过——发接任务平台。 基本每年都有发接任务平台关站&#xff0c;但又有新的平台出来&#xff0c;往复循环&#xff0c;无比热闹。这在互联网圈不常见&#xff0c;互联网项目很多都是风头过去了就结束了&#xff0c;但发接任务年年似乎都…...

React原理 - React Reconciliation-上

目录 扩展学习资料 React Reconciliation Stack Reconciler【15版本、栈协调】 Stack Reconciler-事务性 事务性带来的弊端&#xff1a; 扩展学习资料 名称 链接 备注 官方文档 Reconciliation – React 英文 stack reconciler Implementation Notes – React 英文…...

MySQL 主从复制与读写分离

1、什么是读写分离&#xff1f; 读写分离&#xff0c;基本的原理是让主数据库处理事务性增、改、删操作&#xff08;INSERT、UPDATE、DELETE&#xff09;&#xff0c;而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。 2、为什么…...

Linux环境基础开发工具

xshellssh xshell--充当客户端&#xff0c;提供远程登录服务 yum 背景知识 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放…...

uni-app+uView实现点击查看大图片的效果

<u-button text"月落" click"imgPreview()"></u-button> //注意&#xff1a;参数urls 是预览图片的链接地址&#xff0c;是个数组 imgPreview() {uni.previewImage({indicator: "none",loop: false,urls: []&#xff0c;}) },参数说…...

Sulfo-CY3 azide在细胞标记与成像中的应用-星戈瑞

Sulfo-CY3azide作为荧光探针在细胞标记与成像中应用&#xff0c;它可以用于实现对细胞内特定分子或细胞结构的标记&#xff0c;从而实现对细胞的可视化和实时成像。以下是Sulfo-CY3azide在细胞标记与成像中的应用&#xff1a; 1.细胞膜标记&#xff1a;Sulfo-CY3azide可以与细…...

js如何遍历对象的key和value

在JavaScript中&#xff0c;可以使用for…in循环来遍历对象的键&#xff08;key&#xff09;和值&#xff08;value&#xff09;。以下是一个示例&#xff1a; let obj { key1: value1, key2: value2, key3: value3 }; for (let key in obj) { if (obj.hasOwnProperty…...

官方发布:Mac 版 Visual Studio IDE将于明年 8 月 31 日停止支持

近日&#xff0c;微软官方宣布&#xff1a;适用于 Mac 平台的 Visual Studio 集成开发环境&#xff08;IDE&#xff09;已经启动 "退休" 进程。Visual Studio for Mac 17.6 将继续支持 12 个月&#xff0c;持续到 2024 年 8 月 31 日。 微软表示在未来的 1 年内将重…...

如何使用CSS实现一个带有动画效果的折叠面板(Accordion)?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 带有动画效果的折叠面板&#xff08;Accordion&#xff09;⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个…...

HarmonyOS开发:探索动态共享包的依赖与使用

前言 所谓共享包&#xff0c;和Android中的Library本质是一样的&#xff0c;目的是为了实现代码和资源的共享&#xff0c;在HarmonyOS中&#xff0c;给开发者提供了两种共享包&#xff0c;HAR&#xff08;Harmony Archive&#xff09;静态共享包&#xff0c;和HSP&#xff08;H…...

【力扣】45.跳跃游戏 II <贪心>

给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处&#xff1a;0 < j < nums[i] &#xff1b;i j < n 返回到…...

J. Med. Chem 2022|TocoDecoy+: 针对机器学习打分函数训练和测试的无隐藏偏差的数据集构建新方法

原文标题&#xff1a;TocoDecoy: A New Approach to Design Unbiased Datasets for Training and Benchmarking Machine-Learning Scoring Functions 论文链接&#xff1a;https://pubs.acs.org/doi/10.1021/acs.jmedchem.2c00460 论文代码&#xff1a;GitHub - 5AGE-zhang/T…...

.net core 上传文件大小限制

微软官网文档中给的解释是.net core 默认上传文件大小限制是30M&#xff0c;所以即便你项目里没有限制&#xff0c;这里也有个默认限制。 官网链接地址 总结了一下解决办法&#xff1a; 1.首先项目里添加一个web.config自定义配置文件 在配置文件中加上这段配置 <!--//…...

SAP增强开发实战:如何用STARTING NEW TASK避免BAPI_TRANSACTION_COMMIT的坑?

SAP增强开发实战&#xff1a;如何用STARTING NEW TASK避免BAPI_TRANSACTION_COMMIT的坑&#xff1f; 在SAP标准增强开发中&#xff0c;当我们需要在出口函数里调用BAPI修改或创建业务单据时&#xff0c;总会遇到一个经典难题&#xff1a;如何在增强点安全地提交事务&#xff1f…...

MusePublic插件开发指南:Photoshop艺术生成插件实战

MusePublic插件开发指南&#xff1a;Photoshop艺术生成插件实战 1. 前言 作为设计师&#xff0c;你是否曾经遇到过这样的困境&#xff1a;客户急着要一套海报设计方案&#xff0c;你却在创意构思上卡壳了好几个小时&#xff1f;或者想要尝试新的艺术风格&#xff0c;却苦于手…...

【模糊PID主动悬架模型】 采用模糊PID控制的二自由度(1/4)主动悬架模型,可以自适应调整...

【模糊PID主动悬架模型】采用模糊PID控制的二自由度&#xff08;1/4&#xff09;主动悬架模型&#xff0c;可以自适应调整PID的参数&#xff0c;以悬架动挠度为控制目标&#xff0c;输入为C级随机路面激励&#xff0c;输出为车身垂向加速度、轮胎动载荷、悬架动挠度等平顺性评价…...

从噪声到艺术:深入解析扩散模型采样算法的核心步骤

1. 扩散模型&#xff1a;当数学遇见艺术创作 想象一下&#xff0c;你正在看一位画家作画。他一开始只是在画布上随意涂抹颜料&#xff0c;看起来毫无章法。但随着画笔的不断调整&#xff0c;那些混乱的色块逐渐形成了清晰的轮廓&#xff0c;最终变成一幅精美的画作。这正是扩散…...

从‘它怎么又挂了’到‘服务稳如狗’:我是如何用Prometheus+Grafana搭建业务监控看板的

从被动救火到主动防御&#xff1a;PrometheusGrafana构建业务监控实战手册 凌晨三点&#xff0c;手机突然响起刺耳的警报声——这已经是本周第三次了。揉着惺忪的睡眼查看日志&#xff0c;却发现关键线索早已被淹没在海量的调试信息中。这样的场景对于中小技术团队来说再熟悉不…...

Python实战:构建个人古诗知识库,从古诗文网高效采集与存储

1. 为什么你需要一个古诗知识库&#xff1f; 作为一个诗词爱好者&#xff0c;我经常遇到这样的困扰&#xff1a;读到一首好诗想收藏&#xff0c;结果过几天就忘了出处&#xff1b;想查找某个主题的诗句&#xff0c;却记不清具体内容&#xff1b;看到喜欢的诗人作品&#xff0c;…...

告别繁琐输入:基于SmartConfig与微信的ESP8266/ESP32一键配网实战

1. 为什么我们需要一键配网技术&#xff1f; 每次拿到新的智能设备&#xff0c;最头疼的就是怎么把它连上家里的Wi-Fi。传统的配网方式通常需要你在手机App里手动输入Wi-Fi名称和密码&#xff0c;这个过程不仅繁琐&#xff0c;还容易出错。想象一下&#xff0c;你要给10个智能灯…...

Nunchaku FLUX.1-dev实战:手把手教你用ComfyUI生成惊艳AI图片

Nunchaku FLUX.1-dev实战&#xff1a;手把手教你用ComfyUI生成惊艳AI图片 1. 环境准备与快速部署 1.1 硬件与软件要求 在开始之前&#xff0c;请确保你的系统满足以下基本要求&#xff1a; 显卡&#xff1a;NVIDIA显卡&#xff08;推荐RTX 30/40系列&#xff0c;显存8GB&am…...

MelonLoader终极指南:Unity游戏模组加载器的完整安装与使用教程

MelonLoader终极指南&#xff1a;Unity游戏模组加载器的完整安装与使用教程 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader 还在…...

告别osgQt!用osgQOpenGLWidget在Qt6中轻松加载OsgEarth三维地球(附完整代码)

现代Qt6与OsgEarth集成实战&#xff1a;osgQOpenGLWidget替代方案详解 如果你正在使用Qt6开发三维地理可视化应用&#xff0c;却苦于找不到合适的OpenSceneGraph(OSG)集成方案&#xff0c;这篇文章将为你提供一条清晰的迁移路径。随着Qt和OSG版本的迭代&#xff0c;传统的osgQt…...