在春季使用yml文件基于环境在logback中设置日志级别

问题描述

我想根据环境在Logback.xml中设置日志级别。例如,如果是开发或测试环境,我希望将$ {LOG-LEVEL1}和$ {LOG-LEVEL2}设置为DEBUG并在生产中将其具有INFO。

Logback.xml

<contextName>ABC</contextName>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSZ} %p %c [%X] - %replace(%m{200}){"\r\n|\r|\n"," "} %replace(%rEx{200}){"\n","#!NL!#"} %nopex %n</pattern>
    </encoder>
</appender>

<logger name="LOGGER1" level="${LOG-LEVEL1}" additivity="false">
        <appender-ref ref="STDOUT" />
    </logger>
<logger name="LOGGER2" level="${LOG-LEVEL2}" additivity="false">
        <appender-ref ref="STDOUT" />
    </logger>

<root level="DEBUG">
    <appender-ref ref="STDOUT" />
</root>

对于每个不同的环境,我都有application- {env} .yml文件

ABC-dev.yml

LOG-LEVEL1:调试

LOG-LEVEL2:调试

ABC-prod.yml

LOG-LEVEL1:信息

LOG-LEVEL2:信息

我尝试设置类似上面的内容,但是它不起作用,并且logback分配了认的DEBUG值。 任何帮助都会很棒。

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)