在春季启动中属性文件更改不影响到log4j2.xml

时间:2019-01-03 13:03:28

标签: java spring spring-boot logging log4j2

我在application.properties中有一些日志级别的属性

log.level.hibernate=warn
log.level.cac.provisioning=info
log.level.cac.validator=info

内部,log4j2.xml

<Properties>
    <Property name="PROVISIONING_LOG_LEVEL">${bundle:application:log.level.cac.provisioning}</Property>
    <Property name="HIBERNATE_LOG_LEVEL">${bundle:application:log.level.hibernate}</Property>
    <Property name="VALIDATOR_LOG_LEVEL">${bundle:application:log.level.cac.validator}</Property>
</Properties>


<Loggers>
    <asyncLogger name="com.ericsson.tmo.iotep.cac.provisioning"
        additivity="true" level="${PROVISIONING_LOG_LEVEL}" includeLocation="true">
    </asyncLogger>
    <asyncLogger name="org.hibernate.hql" level="${HIBERNATE_LOG_LEVEL}"
        additivity="false" includeLocation="true">
    </asyncLogger>
    <asyncLogger name="com.ericsson.tmo.iotep.validator"
        level="${VALIDATOR_LOG_LEVEL}" additivity="true">
    </asyncLogger>
</Loggers>

在Spring Boot中,我们有devtools jar,可以在保存任何代码更改后自动重新加载应用程序。

我的问题是,每当我将日志级别 info 更改为 debug 并保存该属性文件时,由于devtools jar导致应用程序必须重新启动。重新启动应用程序后,它仍将日志级别指定为 info

但是,当我手动以-> Java应用程序运行时,属性文件更改已按预期成功在log4j中更新。

我不想每次日志级别更改时手动以-> Java应用程序身份运行。如何通过Spring Boot开发工具jar自动重装期间解决此问题。

在这个问题上谁能帮助我

0 个答案:

没有答案