当前位置: 首页 > 知识库问答 >
问题:

spring boot:我如何用application.properties设置日志记录级别?

长孙玉泽
2023-03-14

这是一个很简单的问题,但我找不到信息。
(可能我对Java框架的知识严重缺乏)

如何使用application.properties设置日志级别?
和日志文件位置等?

共有3个答案

龚星洲
2023-03-14

设置根日志级别的正确方法是使用属性logging.level.root。请参阅文档,该文档自最初提出此问题以来已进行了更新。

示例:

logging.level.root=WARN
赵钊
2023-03-14

您可以使用application.properties来完成此操作。

logging.level.=error->将根日志级别设置为error
...
logging.level.=debug->将根html" target="_blank">日志级别设置为debuglogging.file=${java.io.tmpdir}/myapp.log->将绝对日志文件路径设置为tmpdir/myapp.log一个正常的默认应用程序集。有关使用配置文件进行日志记录的属性为:application.properties:

spring.application.name=<your app name here>
logging.level.=ERROR
logging.file=${java.io.tmpdir}/${spring.application.name}.log

Application-Dev.Properties:

logging.level.=DEBUG
logging.file=

在您喜欢的IDE中进行开发时,只需将-dspring.profiles.active=dev作为VM参数添加到应用程序的运行/调试配置中。

这将使您只在生产过程中进行错误日志记录,在开发过程中进行调试日志记录,而不将输出写入日志文件。这将提高开发过程中的性能(并节省SSD驱动器的一些操作小时;))。

法镜
2023-03-14

更新:从spring boot V1.2.0版本开始,application.propertiesapplication.yml中的设置确实适用。请参阅《参考指南》的“日志级别”部分。

logging.level.org.springframework.web: DEBUG
logging.level.org.hibernate: ERROR

对于早期版本的spring boot,你不能。您只需使用日志框架的常规配置(log4j,logback)即可。将适当的配置文件(log4j.xmllogback.xml)添加到src/main/resources目录中,并根据您的喜好进行配置。

从命令行启动应用程序时,可以通过指定--debug来启用调试日志记录。

spring boot还为logback提供了一个很好的起点,可以配置一些默认值、着色等。base.xml文件可以简单地包含在logback.xml文件中。(在spring boot的默认logback.xml中也建议这样做。

<include resource="org/springframework/boot/logging/logback/base.xml"/>     
 类似资料:
  • 我想更改我的Quarkus应用程序的日志记录级别。 如何从配置文件或运行时执行此操作?

  • 有人能帮我设置日志级别以调试和捕获更多日志所需的spark配置吗

  • 我将pyspark应用程序从我自己的工作站上的pycharm启动到一个8节点集群。这个群集还有编码在spark-defaults.conf和spark-env.sh中的设置 显示未来的信息消息,但到那时已经太晚了。 如何设置spark开始时的默认日志记录级别?

  • 在我的Java应用程序中,我使用SLF4J+Logback进行日志记录。我在开发环境中使用调试级日志记录,在生产环境中使用错误级日志记录。但是有一些消息我无论如何都想要记录下来,无论日志级别如何(类似于,但使用的是logger)。 有什么切实可行的方法可以实现这一点吗?我可以使用error或更低的级别,但我想做的是给出一些信息,所以在语义上是错误的,它不是错误。 我可以在我的中为我的类定义另一个记

  • 我在Spring Boot(1.3M1)中使用了application.properties,并开始将其转换为yaml文件,因为它变得越来越复杂。 但我在将其转换为YAML时遇到了问题:

  • 我有一个多线程Java应用程序,每个线程都是一个扩展基类的类。其中一个线程偶尔会给基类中的一个方法大量机器生成的数据,而其他线程只给出少量的人类类型数据。我想在比机器数据更高的日志级别上记录这些人类类型的消息,但是由于基类是所有线程的一部分,我无法在代码中区分出来。 一种解决方案是通知扩展类中的基类在不同的级别上登录,但是我必须将这些知识硬编码到应用程序中,这很难看。 我想做的是通过我的logba