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

SpringBoot集成JOOQ加Mybatis-plus使用@Slf4j日志

遇到个问题记录下,就是SpringBoot使用Mybatis和Mybatis-plus时可以正常打印日志,但是JOOQ的操作日志确打印不出来?

下面的解决方法就是将JOOQ的日志单独配置出来,直接给你们配置吧!

在项目的resources目录下创建日志文件logback-spring.xml :

<!-- JOOQ日志单独配置 -->
<logger name="org.jooq" level="debug" additivity="true"><appender-ref ref="dev-console"/><appender-ref ref="info-file"/><appender-ref ref="error-file"/>
</logger><logger name="org.jooq" level="info" additivity="false"><appender-ref ref="console"/><appender-ref ref="info-file"/><appender-ref ref="error-file"/>
</logger>
<?xml version="1.0" encoding="UTF-8"?><!-- 从高到地低 OFF 、 FATAL 、 ERROR 、 WARN 、 INFO 、 DEBUG 、 TRACE 、 ALL -->
<!-- 日志输出规则  根据当前ROOT 级别,日志输出时,级别高于root默认的级别时  会输出 -->
<!-- 以下  每个配置的 filter 是过滤掉输出文件里面,会出现高级别文件,依然出现低级别的日志信息,通过filter 过滤只记录本级别的日志--><!-- 属性描述 scan:性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->
<configuration scan="false" scanPeriod="60 seconds" debug="false"><!-- 参数 --><property name="log_dir" value="./logs/"/><property name="maxHistory" value="7"/><!-- console --><appender name="dev-console" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n</pattern></encoder></appender><appender name="console" class="ch.qos.logback.core.ConsoleAppender"><filter class="ch.qos.logback.classic.filter.ThresholdFilter"><level>warn</level></filter><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n</pattern></encoder></appender><appender name="error-file" class="ch.qos.logback.core.rolling.RollingFileAppender"><!-- 过滤器,只记录WARN级别的日志 --><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>ERROR</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter><!-- 最常用的滚动策略,它根据时间来制定滚动策略.既负责滚动也负责触发滚动 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志输出位置  可相对、和绝对路径 --><fileNamePattern>${log_dir}/%d{yyyy-MM-dd}-error.log</fileNamePattern><maxHistory>${maxHistory}</maxHistory></rollingPolicy><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern></encoder></appender><!-- 只记录info appender --><appender name="info-file" class="ch.qos.logback.core.rolling.RollingFileAppender"><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>INFO</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>${log_dir}/%d{yyyy-MM-dd}-info.log</fileNamePattern><maxHistory>${maxHistory}</maxHistory></rollingPolicy><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern></encoder></appender><!-- JOOQ日志单独配置 --><logger name="org.jooq" level="debug" additivity="true"><appender-ref ref="dev-console"/><appender-ref ref="info-file"/><appender-ref ref="error-file"/></logger><logger name="org.jooq" level="info" additivity="false"><appender-ref ref="console"/><appender-ref ref="info-file"/><appender-ref ref="error-file"/></logger><!-- Mybatis、Mybatis-plus、系统日志--><springProfile name="dev"><root level="debug"><appender-ref ref="dev-console"/><appender-ref ref="info-file"/><appender-ref ref="error-file"/></root></springProfile><springProfile name="test,prod,prod-task,uat"><root level="info"><appender-ref ref="console"/><appender-ref ref="info-file"/><appender-ref ref="error-file"/></root></springProfile>
</configuration>

配置文件里面加入:

mybatis:configuration:#默认是不允许自动转换驼峰命名,得自己设置为truemap-underscore-to-camel-case: true#扫描所有mybatis的xml文件mapper-locations: classpath:mapper/*.xml
mybatis-plus:configuration:#默认是允许自动转换驼峰命名map-underscore-to-camel-case: true#开启日志log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl#下面这段配置最好单独放到 dev/prod或者test文件中单独配置
logging:level:root: warn#这里可以适配Mybatis和Mybatis-pluscom.app: debug#JOOQ日志不兼容,需要重新配置一下org.jooq: debug

相关文章:

SpringBoot集成JOOQ加Mybatis-plus使用@Slf4j日志

遇到个问题记录下&#xff0c;就是SpringBoot使用Mybatis和Mybatis-plus时可以正常打印日志&#xff0c;但是JOOQ的操作日志确打印不出来&#xff1f; 下面的解决方法就是将JOOQ的日志单独配置出来&#xff0c;直接给你们配置吧&#xff01; 在项目的resources目录下创建日志…...

浅谈JavaScript中的对象赋值

目录 常见的对象赋值方式 直接赋值和对象扩展&#xff08;浅拷贝&#xff09;两种赋值方式区别 区别 联系 常见的对象赋值方式 1. 直接赋值&#xff1a;this.info this.deviceInfo&#xff0c;将一个对象的引用赋给另一个变量&#xff0c;它们引用同一个对象。 2. 对象扩…...

Java面试题-集合

Java面试题-集合 1、什么是集合&#xff1f;2、集合和数组的区别是什么&#xff1f;3、集合有哪些特点&#xff1f;4、常用的集合类有哪些&#xff1f;5、List&#xff0c; Set&#xff0c; Map三者的区别&#xff1f;6、说说集合框架底层数据结构&#xff1f;7、线程安全的集合…...

从当当网批量获取图书信息

爬取当当网图书数据并保存到本地&#xff0c;使用request、lxml的etree模块、pandas保存数据为excel到本地。 爬取网页的url为&#xff1a; http://search.dangdang.com/?key{}&actinput&page_index{} 其中key为搜索关键字&#xff0c;page_index为页码。 爬取的数据…...

python爬虫之JS逆向——网页数据解析

目录 一、正则 1 正则基础 元字符 基本使用 通配符: . 字符集: [] 重复 位置 管道符和括号 转义符 转义功能 转义元字符 2 正则进阶 元字符组合(常用) 模式修正符 re模块的方法 有名分组 compile编译 二、bs4 1 四种对象 2 导航文档树 嵌套选择 子节点、…...

VL53L4CX TOF开发(2)----修改测距范围及测量频率

VL53L4CX TOF开发.2--修改测距范围及测量频率 概述视频教学样品申请完整代码下载测距范围测量频率硬件准备技术规格系统框图应用示意图生成STM32CUBEMX选择MCU串口配置IIC配置 XSHUTGPIO1X-CUBE-TOF1app_tof.c详细解释测量频率修改修改测距范围 概述 最近在弄ST和瑞萨RA的课程…...

C++之noexcept

目录 1.概述 2.noexcept作为说明符 3.noexcept作为运算符 4.传统throw与noexcept比较 5.原理剖析 6.总结 1.概述 在C中&#xff0c;noexcept是一个关键字&#xff0c;用于指定函数不会抛出异常。如果函数保证不会抛出异常&#xff0c;编译器可以进行更多优化&#xff0c;…...

Kafka之Broker原理

1. 日志数据的存储 1.1 Partition 1. 为了实现横向扩展&#xff0c;把不同的数据存放在不同的 Broker 上&#xff0c;同时降低单台服务器的访问压力&#xff0c;我们把一个Topic 中的数据分隔成多个 Partition 2. 每个 Partition 中的消息是有序的&#xff0c;顺序写入&#x…...

RabbitMQ docker安装及使用

1. docker安装RabbitMQ docker下载及配置环境 docker pull rabbitmq:management # 创建用于挂载的目录 mkdir -p /home/docker/rabbitmq/{data,conf,log} # 创建完成之后要对所创建文件授权权限&#xff0c;都设置成777 否则在启动容器的时候容易失败 chmod -R 777 /home/doc…...

篇3:Mapbox Style Specification

接《篇2:Mapbox Style Specification》,继续解读Mapbox Style Specification。 目录 Spec Reference Root 附录: MapBox Terrain-RGB...

C#WPF数字大屏项目实战11--质量控制

1、区域划分 2、区域布局 3、视图模型 4、控件绑定 5、运行效果 走过路过&#xff0c;不要错过&#xff0c;欢迎点赞&#xff0c;收藏&#xff0c;转载&#xff0c;复制&#xff0c;抄袭&#xff0c;留言&#xff0c;动动你的金手指&#xff0c;财务自由...

第九十七节 Java面向对象设计 - Java Object.Finalize方法

Java面向对象设计 - Java Object.Finalize方法 Java提供了一种在对象即将被销毁时执行资源释放的方法。 在Java中&#xff0c;我们创建对象&#xff0c;但是我们不能销毁对象。 JVM运行一个称为垃圾收集器的低优先级特殊任务来销毁不再引用的所有对象。 垃圾回收器给我们一个…...

【scikit-learn009】异常检测系列:单类支持向量机(OC-SVM)实战总结(看这篇就够了,已更新)

1.一直以来想写下机器学习训练AI算法的系列文章,作为较火的机器学习框架,也是日常项目开发中常用的一款工具,最近刚好挤时间梳理、总结下这块儿的知识体系。 2.熟悉、梳理、总结下scikit-learn框架OCSVM模型相关知识体系。 3.欢迎批评指正,欢迎互三,跪谢一键三连! 4.欢迎…...

网络管理与运维

文章目录 网络管理与运维概念&#xff1a;传统网络管理&#xff1a;基于SNMP集中管理&#xff1a;基于iMaster NCE的网络管理&#xff1a;传统网络管理方式&#xff1a; 基于SNMP集中管理&#xff1a;交互方式&#xff1a;MIB&#xff1a;版本&#xff1a;SNMPv3配置网管平台&a…...

数据库查询字段在哪个数据表中

问题的提出 当DBA运维多个数据库以及多个数据表的时候&#xff0c;联合查询是必不可少的。则数据表的字段名称是需要知道在哪些数据表中存在的。故如下指令&#xff0c;可能会帮助到你&#xff1a; 问题的处理 查找sysinfo这个字段名称都存在哪个数据库中的哪个数据表 SELEC…...

第 400 场 LeetCode 周赛题解

A 候诊室中的最少椅子数 计数&#xff1a;记录室内顾客数&#xff0c;每次顾客进入时&#xff0c;计数器1&#xff0c;顾客离开时&#xff0c;计数器-1 class Solution {public:int minimumChairs(string s) {int res 0;int cnt 0;for (auto c : s) {if (c E)res max(res, …...

数据结构与算法之Floyd弗洛伊德算法求最短路径

目录 前言 Floyd弗洛伊德算法 定义 步骤 一、初始化 二、添加中间点 三、迭代 四、得出结果 时间复杂度 代码实现 结束语 前言 今天是坚持写博客的第18天&#xff0c;希望可以继续坚持在写博客的路上走下去。我们今天来看看数据结构与算法当中的弗洛伊德算法。 Flo…...

Ubuntu系统设置Redis与MySQL登录密码

Ubuntu系统设置Redis与MySQL登录密码 在Ubuntu 20.04系统中配置Redis和MySQL的密码&#xff0c;您需要分别对两个服务进行配置。以下是详细步骤&#xff1a; 配置Redis密码 打开Redis配置文件: Redis的配置文件通常位于/etc/redis/redis.conf。 sudo nano /etc/redis/redis.c…...

数据库连接池的概念和原理

目录 一、什么是数据库连接池 二、数据库连接池的工作原理 1.初始化阶段&#xff1a; 2.获取连接&#xff1a; 3.使用连接&#xff1a; 4.管理和优化&#xff1a; 三、数据库连接池的好处 一、什么是数据库连接池 数据库连接池&#xff08;Database Connection Pooling&…...

国内常用的编程博客网址:技术资源与学习平台

一、国内常用的编程博客网址&#xff1a;技术资源与学习平台 大家初入编程&#xff0c;肯定会遇到各种各样的问题。我们除了找 AI 工具以外&#xff0c;我们还能怎么迅速解决问题呢&#xff1f; 大家可以通过谷歌&#xff0c;百度&#xff0c;必应&#xff0c;github&#xf…...

深入解析Python中ort.InferenceSession的底层实现与性能优化

1. 揭开ort.InferenceSession的神秘面纱 第一次接触ort.InferenceSession时&#xff0c;我完全被它的性能震惊了。作为一个用Python加载ONNX模型的标准入口&#xff0c;它看起来就是个普通的类实例化操作&#xff0c;但背后却隐藏着C和Python的完美协作。这种设计让开发者既能享…...

告别重复劳动:用快马生成deerflow式工作流,提升开发效率十倍

最近在尝试优化日常开发流程时&#xff0c;发现很多重复性的代码检查工作特别耗时。于是研究了下如何用InsCode(快马)平台快速搭建一个deerflow风格的自动化工具&#xff0c;效果出乎意料的好。这里分享下具体实现思路和体验。 为什么需要自动化工作流 每次提交代码前&#x…...

高效实时换脸架构优化:Deep-Live-Cam技术实现与部署方案

高效实时换脸架构优化&#xff1a;Deep-Live-Cam技术实现与部署方案 【免费下载链接】Deep-Live-Cam real time face swap and one-click video deepfake with only a single image 项目地址: https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam Deep-Live-Cam是一款…...

避坑指南:pyzbar识别模糊二维码的5种图像预处理技巧(Python+OpenCV)

提升pyzbar识别率&#xff1a;5种图像预处理技术解决模糊二维码难题 1. 模糊二维码识别的核心挑战 在现实应用中&#xff0c;二维码识别经常遇到各种图像质量问题。我曾在一个物流仓储项目中亲眼目睹&#xff0c;由于包装反光和运输磨损&#xff0c;标准识别流程的失败率高达40…...

拦截器与 JWT 联合使用详解

1. 核心概念1.1 什么是 JWT&#xff1f;JWT 是一个开放标准&#xff08;RFC 7519&#xff09;&#xff0c;用于在各方之间以 JSON 对象的形式安全地传输信息。该信息可以被验证和信任&#xff0c;因为它是数字签名的。JWT 结构&#xff1a;Header&#xff08;头部&#xff09;&…...

AI五金冲压报价——让精准报价,快人一步。

传统报价熬3天&#xff1f;AI 8分钟给你一份带Excel明细正规PDF的报价单&#xff01;还在用Excel手动算冲压报价&#xff1f;客户催得急&#xff0c;成本核不准&#xff0c;格式不专业丢订单&#xff1f;五金厂的报价痛点&#xff0c;我们懂&#xff01;✅ 工艺PDF/3D图扔进去&…...

从“一次性消耗”到“长效资产”:头部品牌如何用易元AI搭建视频中台

2026年&#xff0c;电商内容竞争已从“数量比拼”升级为“资产价值比拼”。传统视频生产是“一次性消耗”——拍完即弃、素材零散、复用率低&#xff0c;内容投入仅为短期成本&#xff1b;而头部品牌已通过视频资产化与AI内容中台&#xff0c;将内容从“成本项”转为“资产项”…...

电商人必看!RMBG-2.0轻量抠图实战:证件照换背景+短视频素材一键生成

电商人必看&#xff01;RMBG-2.0轻量抠图实战&#xff1a;证件照换背景短视频素材一键生成 还在为商品图片抠图发愁吗&#xff1f;每天处理几十张产品图&#xff0c;用PS一点点抠边缘&#xff0c;既费时间又费眼睛&#xff1f;或者需要给员工批量制作证件照&#xff0c;但换背…...

从‘够用’到‘好用’:聊聊Artix-7 FPGA在工业视频处理中的那些‘甜点’级设计

从‘够用’到‘好用’&#xff1a;Artix-7 FPGA在工业视频处理中的设计哲学 工业视频处理领域正经历一场静默的革命——当4K/8K超高清、120fps高帧率成为行业热词时&#xff0c;真正推动生产线变革的却是那些在成本与性能间找到完美平衡点的解决方案。Artix-7系列FPGA&#xf…...

7个实用技巧让Continue AI编程助手提升开发效率

7个实用技巧让Continue AI编程助手提升开发效率 【免费下载链接】continue ⏩ Source-controlled AI checks, enforceable in CI. Powered by the open-source Continue CLI 项目地址: https://gitcode.com/GitHub_Trending/co/continue 在当今快节奏的开发环境中&#…...