SpringBoot日志记录配置基于日志记录级别

时间:2017-04-18 05:07:30

标签: spring logging spring-boot slf4j

是否可以在SpringBoot的appliaction.properties中指定不同日志记录级别的不同日志记录配置?
例如,将信息记录到文件但仅调试到控制台并为它们指定不同的格式 我在SpringBoot docs搜索但找不到答案。

2 个答案:

答案 0 :(得分:0)

您可以尝试使用log4j2记录器并指定其配置文件多个记录器元素。如果您在spring中设置了log4j2依赖项,则应该在 log4j2-spring.xml 文件中选择配置。看看他们的介绍文档here,但我相信log4j2配置文件中的这样的内容就足够了:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Appenders>
        <Console name="ConsoleAppender" target="SYSTEM_OUT">
            <PatternLayout pattern="%d [%t] %-5level %logger{36} - %msg%n%throwable"/>
        </Console>
        <File name="FileAppender" fileName="debug.log">
           <PatternLayout>
             <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
           </PatternLayout>
        </File>
    </Appenders>
    <Loggers>
        <Root level="INFO">
            <AppenderRef ref="ConsoleAppender"/>
        </Root>
        <Root level="DEBUG">
            <AppenderRef ref="FileAppender"/>
        </Root>
    </Loggers>
</Configuration>

答案 1 :(得分:0)

application.yml

中添加以下配置
logging:
  level:
    root: INFO
    com:
      somepackage: DEBUG
      someotherpackage: TRACE

此处您已将默认日志记录设置为INFO(root logger),而com.somepackage个日志记录级别设置为DEBUGcom.someotherpackage日志记录级别为TRACE