如何在spring-boot中禁用控制台日志记录?

时间:2017-05-11 14:32:06

标签: java spring logging spring-boot

我使用spring-boot的默认日志记录配置。

如何在保持日志文件配置为logging.file=myfile.log的日志文件的同时阻止控制台输出?

我的目标是不输出控制台窗口,但只记录到该文件。

无需创建特定的logback.xml' configuration. Because I'm using spring-boot`,无需自行配置日志记录。

4 个答案:

答案 0 :(得分:20)

事实证明,如果我将以下属性设置为空,则禁用控制台日志记录:

logging.pattern.console=

如果你使用它,或者在xml中评论

  <!--<root level="error">-->
        <!--<appender-ref ref="console"/>-->
    <!--</root>-->

答案 1 :(得分:1)

  1. 在应用程序的/ resources /文件夹中创建一个文件logback-spring.xml。
  2. 将以下内容复制到logback-spring.xml
<?xml version = "1.0" encoding = "UTF-8"?>
<configuration>
    <appender name = "STDOUT" class = "ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%m%n</pattern>
        </encoder>
    </appender>
    <root level = "INFO">
        <appender-ref ref = "STDOUT"/>
    </root>
</configuration>

答案 2 :(得分:0)

我创建了一个名为logback.xml的文件,内容为:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/base.xml" />
    <logger name="org.springframework" level="ERROR"/>
    <logger name="org.hibernate" level="ERROR"/>
</configuration>

有关详细信息,请参阅此链接:https://www.mkyong.com/spring-boot/spring-boot-test-how-to-stop-debug-logs/

答案 3 :(得分:-3)

所有受支持的日志记录系统都可以使用'logging.level。* = LEVEL'在Spring环境中设置记录器级别,其中'LEVEL'是TRACE,DEBUG,INFO,WARN,ERROR,FATAL,OFF之一。可以使用logging.level.root配置根记录器。示例application.properties:

logging.level.root=WARN
logging.level.org.springframework.web=DEBUG
logging.level.org.hibernate=ERROR

检查此信息:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html

您还可以覆盖logback配置并为其提供值OFF

<configuration>
  <!-- turn OFF all logging (children can override) -->
  <root level="OFF">
    <appender-ref ref="STDOUT" />
  </root>
</configuration>

您可以通过以下链接找到更多信息:https://logback.qos.ch/manual/configuration.html#rootElement