学到一些小知识关于Maven 与 logback 与 jpa 日志

1.jpa想要输出参数

logging:level:org.hibernate.orm.jdbc.bind: trace #打印SQL参数web: debug #web框架的日志级别

就可以了,

2.Slf4j

其实 Slf4j 是一个日志接口规范,没有具体的实现

而 logback 是 Slf4j的一个实现 ,也是springboot3 的默认实现, 

一个项目最好只有一个 Slf4j的实现,要不然可能会有冲突, 他会扫描类路径下是否有实现,然后找到后使用。

springboot3还可以切换 log4j2 的实现, 本来 log4j2 的接口与 Slf4j不同 ,但是springboot -log4j2-starter 使用了适配器模式,适配了SLF所以 可以无缝衔接 slf ,但是要排除原来自带的 springboot-logging-starter 的依赖, 来保证只有一个SLF实现

log4j2的配置文件

log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN"> <!--log4j2内部的日志输出级别,跟你的项目无关--><Appenders><!-- 控制台输出 --><Console name="Console" target="SYSTEM_OUT"><PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/></Console><!-- 滚动文件输出 --><RollingFile name="RollingFile" fileName="logs/application.log"filePattern="logs/application-%d{yyyy-MM-dd}-%i.log.gz"><PatternLayout><pattern>%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %msg%n</pattern></PatternLayout><Policies><!-- 时间滚动策略:每天滚动一次 --><TimeBasedTriggeringPolicy interval="1" modulate="true"/><!-- 文件大小滚动策略:当文件达到 10MB 时滚动 --><SizeBasedTriggeringPolicy size="10MB"/></Policies><!-- 保留的日志文件数量 --><DefaultRolloverStrategy max="10"/></RollingFile></Appenders><Loggers><Root level="info"><AppenderRef ref="Console"/><AppenderRef ref="RollingFile"/></Root><Logger name="com.yourpackage" level="debug" additivity="false"><AppenderRef ref="Console"/><AppenderRef ref="RollingFile"/></Logger></Loggers>
</Configuration>
logging:level:root: infocom.yourpackage: debugconfig: classpath:log4j2.xml

所有的子日志 都是继承 root 日志的

3.不同依赖范围的行为

范围编译时可用测试时可用运行时可用打包到构建产物传递性
compile
provided
runtime
test
system
import

具体解释

  1. compile

    • 编译时可用:在编译项目时可用。
    • 测试时可用:在运行测试时可用。
    • 运行时可用:在项目运行时可用。
    • 打包到构建产物:会被包含在最终的构建产物(如 JAR 或 WAR 文件)中。
    • 传递性:会被传递给依赖当前项目的其他模块。
  2. provided

    • 编译时可用:在编译项目时可用。
    • 测试时可用:在运行测试时可用。
    • 运行时可用:在项目运行时不可用,因为这些依赖由运行环境提供。
    • 打包到构建产物:不会被包含在最终的构建产物中。
    • 传递性:不会被传递给依赖当前项目的其他模块。
  3. runtime

    • 编译时可用:在编译项目时不可用。
    • 测试时可用:在运行测试时可用。
    • 运行时可用:在项目运行时可用。
    • 打包到构建产物:会被包含在最终的构建产物中。
    • 传递性:会被传递给依赖当前项目的其他模块。
  4. test

    • 编译时可用:在编译项目时不可用。
    • 测试时可用:在运行测试时可用。
    • 运行时可用:在项目运行时不可用。
    • 打包到构建产物:不会被包含在最终的构建产物中。
    • 传递性:不会被传递给依赖当前项目的其他模块。
  5. system

    • 编译时可用:在编译项目时可用。
    • 测试时可用:在运行测试时可用。
    • 运行时可用:在项目运行时可用。
    • 打包到构建产物:不会被包含在最终的构建产物中。
    • 传递性:不会被传递给依赖当前项目的其他模块。
    • 特殊性:需要通过 <systemPath> 指定依赖的路径,通常是项目目录中的 JAR 文件。
  6. import

    • 编译时可用:在编译项目时不可用。
    • 测试时可用:在运行测试时不可用。
    • 运行时可用:在项目运行时不可用。
    • 打包到构建产物:不会被包含在最终的构建产物中。
    • 传递性:会被传递给依赖当前项目的其他模块。
    • 特殊性:主要用于 pom 类型的依赖,用于导入其他 pom 文件中的依赖管理信息,常用于 BOM(Bill of Materials)文件。

option 与 provided 的区别 就是 语义化

option: 在当前项目使用,其他依赖引入的时候,必须显示声明才能使用,它依赖了这个依赖的内容

provided:是根本就不传递, 有另一个容器去提供此依赖的内容

4. SQL json

将数据库 的json 字段 转化成 想要的格式 ,因为实体类改了

UPDATE enum_dictionary 
SET enum_params = (SELECT JSON_OBJECTAGG(k,JSON_OBJECT('defaultValue', JSON_EXTRACT(enum_params, CONCAT('$."', k, '"'))))FROM JSON_TABLE(JSON_KEYS(enum_params),'$[*]' COLUMNS (k VARCHAR(255) PATH '$')) AS jt
);

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

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

相关文章

【Unity】ScrollViewContent适配问题(Contentsizefilter不刷新、ContentSizeFilter失效问题)

最近做了一个项目&#xff0c;菜单栏读取数据后自动生成&#xff0c;结果用到了双重布局 父物体 尝试了很多方式&#xff0c;也看过很多大佬的文章&#xff0c;后来自己琢磨了一下&#xff0c;当子物体组件自动生成之后&#xff0c;使用以下以下代码效果会好一些&#xff1a; …

springboot基于微信小程序的商城系统

基于Spring Boot的微信小程序商城系统是一种现代化的电商解决方案&#xff0c;它将Spring Boot框架的强大后端能力与微信小程序的便捷前端体验相结合&#xff0c;为商家和用户提供了高效、稳定的在线购物平台。 一、后端框架 &#xff1a;Spring Boot 1. 简介&#xff1a; 2.…

63,【3】buuctf web Upload-Labs-Linux 1

进入靶场 点击pass1 查看提示 既然是上传文件&#xff0c;先构造一句话木马&#xff0c;便于用蚁剑连接 <?php eval($_POST[123])?> 上传木马 文件后缀写为.php.jpg 右键复制图片地址 打开蚁剑连接 先点击测试连接&#xff0c;显示成功后&#xff0c;再点击添加即可 …

【玩转全栈】----基于ModelForm完成用户管理页面

目录 大致效果 添加用户代码 引入ModelForm ModelForm 与一般表单的区别&#xff1a; ModelForm 与传统 Form 的区别&#xff1a; 使用ModelForm制作用户管理 新建用户 编辑用户&#xff1a; 删除数据 完整代码 在学完前面的部门管理案例后&#xff0c;自己独立写出个用户管理应…

AIGC视频生成模型:ByteDance的PixelDance模型

大家好&#xff0c;这里是好评笔记&#xff0c;公主号&#xff1a;Goodnote&#xff0c;专栏文章私信限时Free。本文详细介绍ByteDance的视频生成模型PixelDance&#xff0c;论文于2023年11月发布&#xff0c;模型上线于2024年9月&#xff0c;同时期上线的模型还有Seaweed&…

深入探究 YOLOv5:从优势到模型导出全方位解析

一、引言 在计算机视觉领域&#xff0c;目标检测是一项至关重要的任务&#xff0c;它在自动驾驶、安防监控、工业检测等众多领域都有着广泛的应用。而 YOLO&#xff08;You Only Look Once&#xff09;系列作为目标检测算法中的佼佼者&#xff0c;一直备受关注。其中&#xff…

Qt —— 控件属性

一、概述 控件有很多属性&#xff0c;我们学习和整理常见和常用的几个属性&#xff0c;由于所有的控件基本都是继承Widget类的&#xff0c;所以前面会先拿Widget类和常见的控件进行示范。 Qt Designer左侧一长条就是Qt给我们内置好的控件&#xff1a; 二、enabled 状态属性 …

会议签到系统的架构和实现

会议签到系统的架构和实现 摘要:通过定制安卓会议机开机APP呈现签到界面&#xff0c;并且通过W/B结构采集管理签到信息&#xff0c;实现会议签到的功能。为达到此目标本文将探讨使用Redis提供后台数据支持&#xff1b;使用SocketIo处理适时消息&#xff1b;使用Flask进行原型开…

WPF实战案例 | C# WPF实现大学选课系统

WPF实战案例 | C# WPF实现大学选课系统 一、设计来源1.1 主界面1.2 登录界面1.3 新增课程界面1.4 修改密码界面 二、效果和源码2.1 界面设计&#xff08;XAML&#xff09;2.2 代码逻辑&#xff08;C#&#xff09; 源码下载更多优质源码分享 作者&#xff1a;xcLeigh 文章地址&a…

JAVA:Spring Boot 实现责任链模式处理订单流程的技术指南

1、简述 在复杂的业务系统中&#xff0c;订单流程往往需要一系列的操作&#xff0c;比如验证订单、检查库存、处理支付、更新订单状态等。责任链模式&#xff08;Chain of Responsibility&#xff09;可以帮助我们将这些处理步骤分开&#xff0c;并且以链式方式处理每一个操作…

stm32单片机个人学习笔记14(USART串口数据包)

前言 本篇文章属于stm32单片机&#xff08;以下简称单片机&#xff09;的学习笔记&#xff0c;来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记&#xff0c;只能做参考&#xff0c;细节方面建议观看视频&#xff0c;肯定受益匪浅。 STM32入门教程-2023版 细…

postgresql15的启动

PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统&#xff0c;且因为许可证的灵活&#xff0c;任何人都可以以任何目的免费使用、修改和分发PostgreSQL。现在国产数据库大力发展阶段&#xff0c;学习和熟悉postgresql的功能是非常有必要的&#x…

行人识别检测数据集,yolo格式,PASICAL VOC XML,COCO JSON,darknet等格式的标注都支持,准确识别率可达99.5%

作者简介&#xff1a; 高科&#xff0c;先后在 IBM PlatformComputing从事网格计算&#xff0c;淘米网&#xff0c;网易从事游戏服务器开发&#xff0c;拥有丰富的C&#xff0c;go等语言开发经验&#xff0c;mysql&#xff0c;mongo&#xff0c;redis等数据库&#xff0c;设计模…

【前端】CSS实战之音乐播放器

目录 播放器背景旋转音乐封面按钮进度条音量调节音乐信息按钮的效果JavaScript部分播放和暂停音乐切换音乐信息进度条 音量调节避免拖拽时的杂音音量调节条静音和解除静音 自动下一首实现一个小效果最终效果 播放器背景 <div class"play_box"></div>设置…

SSM开发(一)JAVA,javaEE,spring,springmvc,springboot,SSM,SSH等几个概念区别

目录 JAVA 框架 javaEE spring springmvc springboot SSM SSH maven JAVA 一种面向对象、高级编程语言&#xff0c;Python也是高级编程语言&#xff1b;不是框架(框架&#xff1a;一般用于大型复杂需求项目&#xff0c;用于快速开发)具有三大特性&#xff0c;所谓Jav…

rocketmq基本架构

简介 Name server 负责broker注册、心跳&#xff0c;路由等功能&#xff0c;类似Kafka的ZKname server节点之间不互相通信&#xff0c;broker需要和所有name server进行通信。扩容name server需要重启broker&#xff0c;不然broker不会和name server建立连接producer和consum…

【Web】2025-SUCTF个人wp

目录 SU_blog SU_photogallery SU_POP SU_blog 先是注册功能覆盖admin账号 以admin身份登录&#xff0c;拿到读文件的权限 ./article?filearticles/..././..././..././..././..././..././etc/passwd ./article?filearticles/..././..././..././..././..././..././proc/1…

【优选算法】6----查找总价格为目标值的两个商品

这道题相对于前寄到算法题较为容易~ 同样也是使用了双指针的算法哦~ ----------------------------------------begin-------------------------------------- 题目解析&#xff1a; 题目也是很简单地一句话&#xff0c;但是意图还是很明确~ 讲解算法原理&#xff1a; 同样的&…

github登录用的TOTP和恢复码都丢失了怎么办

从22年左右开始github的登录就需要用TOTP的一个6位秘钥做二次认证登录&#xff0c;如果在用的TOTP软件失效了&#xff0c;可以用github开启二次认证时下载的恢复码重置认证&#xff0c;但是如果你和我一样这两个东西都没了就只能用邮箱重置了&#xff0c;过程给大家分享一下 一…

FFmpeg常用命令

文章目录 一、 FFmpeg 音视频的处理流程二、FFmpeg 常用命令2.1、查看本机支持的采集设备2.2、 录制视频2.2.1、原始视频2.2.2、编码的视频 2.3、录制音频&#xff1a;2.3.1、原始音频2.3.2、编码的音频 2.4、录制音视频&#xff1a;2.5、文件格式转换&#xff1a;2.6、提取音频…