微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决在春季使用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 举报,一经查实,本站将立刻删除。