”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > Java Spring Boot使用登录gradle项目

Java Spring Boot使用登录gradle项目

发布于2024-11-08
浏览:321

这里的动机是我花了太多时间试图弄清楚如何在 gradle 中的 spring boot 中使用 log4j 添加日志记录。这里的 gradle 部分是给我最痛苦的部分,因为我能找到的所有文档都是针对 maven 的。

因此,我在这里记录我的发现,以便下一个正在寻找此内容的人可以找到我的帖子并能够快速找到答案。

这是我用于演示的配置。我也在 java 17 中测试了相同的实现。

Java Spring Boot use login a gradle project

将此行添加到 build.gradle

configurations {
    all*.exclude module : 'spring-boot-starter-logging'
}

dependencies {
    ...
    implementation "org.springframework.boot:spring-boot-starter-log4j2"
}

在 src/main/resources 文件夹中创建一个名为 log4j2.xml 的文件并将其添加到该文件中

您的设置已完成,现在您可以从 log4j 添加记录器,它将使用此 xml 配置。请注意,我在每条消息中添加了一条 Message: 。因此,如果您不想要它,可以将其删除。我已将其添加到此处,以便我可以测试该项目是否正在使用此 xml 文件。

现在要进行测试,您可以使用 log4j 记录器。您可以将其添加到 main 方法中。

// import org.apache.logging.log4j.LogManager;
// import org.apache.logging.log4j.Logger;

Logger logger = LogManager.getLogger(SpringApplication.class);
logger.info("Hello World!");

记录器设置应该按预期工作。注意消息:part.

Java Spring Boot use login a gradle project

您可以在这里找到该项目

参考

  1. (https://www.sentinelone.com/blog/started-quickly-spring-boot-logging/)[https://www.sentinelone.com/blog/started-quickly-spring-boot-logging/ ]
  2. (https://github.com/minhaz1217/devops-notes/tree/master/78.java spring boot在gradle项目中使用log4j)[https://github.com/minhaz1217/devops-notes/tree /大师/78。 java spring boot 在gradle项目中使用log4j]
  3. 虚拟项目[​​&&&]
版本声明 本文转载于:https://dev.to/minhaz1217/java-spring-boot-use-log4j-in-a-gradle-project-54kg?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • Cypress 自动化可访问性测试:综合指南
    Cypress 自动化可访问性测试:综合指南
    介绍 辅助功能是 Web 开发的一个重要方面,确保所有用户(包括残障人士)都可以与您的 Web 应用程序有效交互。自动化可访问性测试有助于在开发过程的早期识别和解决可访问性问题。在这篇文章中,我们将探讨如何使用 Cypress 实现自动化可访问性测试,利用 cypress-axe ...
    编程 发布于2024-11-08
  • 为什么 Javascript 和 jQuery 找不到 HTML 元素?
    为什么 Javascript 和 jQuery 找不到 HTML 元素?
    Javascript 和 jQuery 无法检测 HTML 元素当尝试使用 Javascript 和 jQuery 操作 HTML 元素时,您可能会遇到令人沮丧的问题未定义的元素。当脚本尝试访问 HTML 文档中尚未定义的元素时,就会出现这种情况。在提供的 HTML 和脚本中,“script.js”...
    编程 发布于2024-11-08
  • Polars 与 Pandas Python 数据帧的新时代?
    Polars 与 Pandas Python 数据帧的新时代?
    北极熊与熊猫:有什么区别? 如果您一直关注 Python 的最新发展,您可能听说过 Polars,一个用于处理数据的新库。虽然 pandas 长期以来一直是首选库,但 Polars 正在掀起波澜,尤其是在处理大型数据集方面。那么,Polars 有什么大不了的呢?它和熊猫有什么不同?...
    编程 发布于2024-11-08
  • 使用 Golang 使用 Api 网关模式构建基本的微服务在线商店后端 - 第 1 部分
    使用 Golang 使用 Api 网关模式构建基本的微服务在线商店后端 - 第 1 部分
    Introduction Hey, fellow developers! ? Ever thought about building a microservices architecture but felt overwhelmed by where to start? Worry...
    编程 发布于2024-11-08
  • 如何高效地查找多个Python列表中的相交元素?
    如何高效地查找多个Python列表中的相交元素?
    识别多个Python列表中的共享元素在Python中,提取两个列表的交集可以使用set.intersection()函数来实现。然而,确定多个列表的交集变得更加复杂。这是一个有效识别多个列表之间共享元素的解决方案:答案中提供的公式 set.intersection(*map(set,d)) 提供了一...
    编程 发布于2024-11-08
  • Go 中如何高效地将 UTF-8 字符串转换为字节数组?
    Go 中如何高效地将 UTF-8 字符串转换为字节数组?
    将 UTF-8 字符串转换为字节数组解组 JSON 需要字节切片输入,而字符串在 Go 中存储为 UTF-8 。本文探讨了 UTF-8 字符串到字节数组的高效转换。直接转换Go 允许将字符串转换为字节切片,创建字符串字节的副本:s := "some text" b := []by...
    编程 发布于2024-11-08
  • 我可以在单个 MySQLi 语句中准备多个查询吗?
    我可以在单个 MySQLi 语句中准备多个查询吗?
    在单个 MySQLi 语句中准备多个查询不可能在单个 MySQLi 语句中准备多个查询。每个 mysqli_prepare() 调用只能准备一个查询。执行多个查询的替代方法如果您需要一次性执行多个查询,您可以创建并为每个查询执行单独的 mysqli_prepare() 语句。$stmtUser = ...
    编程 发布于2024-11-08
  • 在 Golang 中安全使用 Map:声明和初始化的差异
    在 Golang 中安全使用 Map:声明和初始化的差异
    介绍 本周,我正在为 golang 开发一个 API 包装器包,它处理发送带有 URL 编码值的 post 请求、设置 cookie 以及所有有趣的东西。但是,当我构建主体时,我使用 url.Value 类型来构建主体,并使用它来添加和设置键值对。然而,我在某些部分遇到了有线零指针...
    编程 发布于2024-11-08
  • 下一个目标
    下一个目标
    我刚刚完成了我的论文,并以令人印象深刻的分数9.1/10,我对此感到非常自豪。提交给 REV-ECIT 2024 的截止日期是 9 月 30 日,目的是将我的论文变成已发表的期刊文章。目前我正在博士生导师的支持下完善我的工作,非常感谢他的指导。 ? 另外,在与SA进行了很长时间的面试后,提出了一些...
    编程 发布于2024-11-08
  • Better - 人工智能驱动的代码审查器 GitHub Action
    Better - 人工智能驱动的代码审查器 GitHub Action
    代码审查对于维护标准和强调项目中代码的最佳实践始终至关重要。这不是一篇关于开发人员应该如何审查代码的文章,更多的是关于将一​​部分代码委托给 AI。 正如 Michael Lynch 在他的文章“如何像人类一样进行代码审查”中提到的那样——我们应该让计算机处理代码审查的无聊部分。虽然迈克尔强调格式化...
    编程 发布于2024-11-08
  • 如何使用 Java 8 有效地统计列表中的词频?
    如何使用 Java 8 有效地统计列表中的词频?
    使用 Java 8 计算词频在 Web 开发和数据分析中,理解词频至关重要。为了实现这一目标,我们将深入研究如何使用 Java 8 计算列表中单词的频率。Java 8 解决方案Java 8 中的 Stream API 为单词提供了一个优雅的解决方案频率计数。首先,创建一个单词列表:List<S...
    编程 发布于2024-11-08
  • 什么是封装以及如何使用它。
    什么是封装以及如何使用它。
    什么是封装? Java 中的封装就是隐藏某些东西如何工作的细节,同时仍然允许其他人使用它。您将数据(如变量)和方法(如函数)分组到一个单元中,称为类。您不是让每个人都直接访问您的数据,而是提供方法(getter 和 setter)来控制数据的访问或更改方式。这样,您可以保护您的数据并保持代码整洁和有...
    编程 发布于2024-11-08
  • Java 中的倒置二叉树
    Java 中的倒置二叉树
    最近,我开始练习一些 LeetCode 练习,以提高我的算法/数据结构技能。我可以说,该平台提供了一个良好的环境,可以与其他开发人员一起练习和学习多种编程语言的解决方案,与他人讨论、分享解决方案,并练习大公司要求的代码挑战。 什么是 LeetCode? LeetCode 是一个帮助候...
    编程 发布于2024-11-08
  • 如何在Python中高效查找一个数的因数?
    如何在Python中高效查找一个数的因数?
    在 Python 中高效查找数字的因数确定数字的因数是各个领域中的常见任务,Python 提供了多种有效的方法来实现它。一种优化方法涉及利用 Python 的 reduce 函数以及列表理解。这个简洁的解决方案有效地找到给定数字的所有因子。from functools import reduce d...
    编程 发布于2024-11-08
  • JavaScript 困境:嵌入脚本与内联执行?
    JavaScript 困境:嵌入脚本与内联执行?
    外部脚本标签中的 JavaScript:源困境当使用带有 的外部脚本标签时语法,了解它们的局限性很重要。尝试将 JavaScript 直接嵌入到这些标记中(如下例所示)会导致意外行为:<script src="myFile.js"> alert("...
    编程 发布于2024-11-08

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3