在Spring Boot上禁用应用程序的控制台日志记录

时间:2017-09-19 06:09:42

标签: spring-boot

我需要在我的Web应用程序的控制台中禁用应用程序日志。我在logback-spring.xml下面强制spring使用文件appender而不是console appender。但是,现在的问题是我的应用程序日志是用来自所有软件包的所有日志编写的,甚至是那些未在logback-spring.xml中指定的日志

<?xml version="1.0" encoding="UTF-8"?>

<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<include resource="org/springframework/boot/logging/logback/file-appender.xml" />


<springProfile name="local,dev,qa,prodsup,perftest">
    <logger name="org.application.folder" level="debug" />
    <logger name="org.springframework.*" level="debug" />
    <root level="debug">
        <appender-ref ref="FILE" />
    </root>
</springProfile>



<springProfile name="prod">
    <logger name="org.application.folder" level="error" />
    <logger name="org.springframework.core " level="error" /> 
    <logger name="org.springframework.beans" level="error" />
    <logger name="org.springframework.context" level="error" />
    <logger name="org.springframework.transaction" level="error" />
    <logger name="org.springframework.web" level="error" />
    <logger name="org.springframework.test" level="error" />
    <logger name="org.springframework.boot.context" level="error"/>

</springProfile>

我正在使用spring boot 1.5.2。 我使用logging.file键在application.properties中指定了日志文件位置。我目前正在使用Websphere,但我也遇到了嵌入式tomcat的同样问题。

谢谢。

1 个答案:

答案 0 :(得分:0)

我想我错过了伐木的基础知识。我已经将根记录器配置为使用file-appender,这就是为什么所有包中的所有日志都存在于我配置的文件中的原因。(LOG_FILE env属性值或应用程序属性中的logging.file。)我更改了logback-spring .xml如下所示,它按预期工作。

<?xml version="1.0" encoding="UTF-8"?>
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<include resource="org/springframework/boot/logging/logback/file-appender.xml" />


<springProfile name="local,dev,qa,prodsup,perftest">
    <logger name="org.application.folder" level="debug" >
        <appender-ref ref="FILE" />
     </logger>
    <logger name="org.springframework" level="debug" >
         <appender-ref ref="FILE" />
    </logger>

</springProfile>