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

spring-boot application.properties文件可以使用log4j2.xml配置吗?

姚才捷
2023-03-14

我想在application.properties中定义高级文件日志记录,以方便利用我的log4j2.xml文件配置。我的log4j2配置本身运行良好,但是我希望控制日志级别以及application.properties文件中的日志文件和路径信息。我在应用程序的pom文件中有spring-boot-starter-log4j2依赖项。

在log4j2.xml中,我有一个属性

<Property name="LOG_FILE">${LOG-DIR}/test.log</Property>

,其中LOG-DIR是在同一文件中的另一个(以前的)属性中定义的。在我的application.properties文件中,我有

logging.file=LOG_FILE 
logging.level.org.springframework.web=DEBUG

对我做错了什么的任何洞察力都是非常感激的。谢谢你

共有1个答案

越扬
2023-03-14

如果我正确理解了您的问题,您正在查看log4j2的属性替换特性。

您可以在application.properties文件中定义日志记录属性,如下所示:

log.file.path=/myDir/logpath 

然后在log4j2.xml中定义为property的属性查找:

<Configuration>  
  <Properties>  
      <property name="LOG_FILE">${bundle:application:log.file.path}</property> 
  </Properties>  
 类似资料:
  • 我想使用新的log4j2-Java日志框架。一切正常,但我从一小时后就尝试加载一个自定义配置文件来配置日志记录(如日志级别)。 这是我的log4j2.xml: 我尝试了以下方法,但没有任何效果: 移动log4j2.xml文件,使其位于默认包中。 将log4j2.xml文件移动到项目中的任意位置 将log4j2.xml文件命名为log4j.xml 在项目中创建一个文件夹,将log4j2.xml文件放

  • 问题内容: 我想使用新的Log4J 2-Java Logging Framework。一切正常,但是一个小时以来,我尝试加载一个自定义配置文件来配置日志记录(如日志级别)。 这是我的log4j2.xml: 我尝试了以下方法,但没有任何效果: 移动log4j2.xml文件,使其位于默认软件包中。 将log4j2.xml文件移动到项目中的任何位置 将log4j2.xml文件命名为“ log4j.xml

  • 在我使用Log4j版本之前的时间。1在Spring应用。我用这样的东西来定义log4j的位置。属性配置文件驻留: 现在我切换到Log4j ver.2,我有一个XML配置: 但Spring似乎不使用此文件,并且日志记录并没有附加到控制台或数据库中。 这是输出: 我做错了什么?

  • 问题内容: 我已将应用程序迁移到log4j 2,并通过log4j2.xml对其进行了配置 但是,我正在使用的某些库取决于log4j1。如果我使用以下命令运行该应用程序: log4j 1抱怨找不到配置文件。我正在使用log4j 2,log4j-1.2-api-2.0-rc1.jar提供的log4j 1.x桥。是否可以使用单个log4j2.xml进行配置? 我尝试过的替代方法是同时配置log4j和lo

  • 我已经将应用程序迁移到Log4J2,并通过log4j2.xml对其进行了配置 但是,我使用的一些库依赖于log4j1。如果我使用以下方式运行应用程序: 我尝试的另一种方法是将log4j和log4j2配置在一起: 我担心的是日志配置文件和输出的碎片化。我还担心log4j.xml和log4j2.xml之间可能存在的冲突。例如,logfile Error.log被配置为使用log4j1中的FileApp

  • 我试图在一个带有Gradle的Spring Boot应用程序中使用log4j2。我有4个不同的配置文件:。相应地,我有4个不同的log4j2配置文件:。根据选定的概要文件,我希望选择正确的log4j2配置文件,以便对其进行相应的配置。 首先,为了使log4j2正常工作,我排除了,而是包含了。在执行此操作之前,log4j2根本不起作用。 我已经调查了这篇文章,但我无法得到公认的工作答案。根据这篇文章