Spring Boot SLF4J日志实例 / Logback

默认情况下,SLF4j日志记录包含在Spring Boot Web应用程序中,只需要启用它就可以了。

注意:查看此Spring Boot Logback XML模板以了解默认的日志记录模式和配置。

SLF4j示例

我们将在接下来的文章中,创建一个项目:web-slf4j-logging,演示这几种常用的日志配置方法。

1. application.properties

要启用日志记录,请在资源文件夹的根目录中创建一个application.properties件。logging.level- 定义日志记录级别,日志记录将被输出到控制台。

文件: application.properties

 

logging.level.org.springframework.web=ERROR
logging.level.com.yiibai=DEBUG

logging.file – 定义日志文件(可根据需要写上,如:c:/logs/mylog.log),将日志记录输出到文件和控制台。
文件: application.properties

logging.level.org.springframework.web=ERROR
logging.level.com.yiibai=DEBUG

#output to a temp_folder/file
logging.file=${java.io.tmpdir}/application.log

#output to a file
#logging.file=c:/logs/mylog.log

logging.pattern - 定义自定义日志记录模式。
文件: application.properties

logging.level.org.springframework.web=ERROR
logging.level.com.yiibai=DEBUG

# Logging pattern for the console
logging.pattern.console= "%d{yyyy-MM-dd HH:mm:ss} - %msg%n"

# Logging pattern for file
logging.pattern.file= "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"

logging.file=c:/logs/mylog.log

2. application.yml

上面的配置,也可以使用YAML格式实现相同的效果。
文件:application.yml

logging:
  level:
    org.springframework.web: ERROR
    com.yiibai: DEBUG
  pattern:
    console: "%d{yyyy-MM-dd HH:mm:ss} - %msg%n"
    file: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
  file: c:/logs/mylog.log
Shell

3. 经典Logback.xml

 

如果您不喜欢Spring Boot日志记录模板,也可以在资源文件夹的根目录或类路径的根目录中创建一个标准的logback.xml文件。它将会覆盖Spring Boot日志记录模板。
文件:logback.xml

 

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

    <property name="DEV_HOME" value="c:/logs" />

    <appender name="FILE-AUDIT"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${DEV_HOME}/debug.log</file>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <Pattern>
                %d{yyyy-MM-dd HH:mm:ss} - %msg%n
            </Pattern>
        </encoder>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- rollover daily -->
            <fileNamePattern>${DEV_HOME}/archived/debug.%d{yyyy-MM-dd}.%i.log
                        </fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>10MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>

    </appender>

    <logger name="com.yiibai" level="debug"
        additivity="false">
        <appender-ref ref="FILE-AUDIT" />
    </logger>

    <root level="error">
        <appender-ref ref="FILE-AUDIT" />
    </root>

</configuration>
XML

4. 设置根级别

 

文件:application.properties

 

# root logging level, warning : too much output
logging.level.=DEBUG
Shell

文件:application.yml

logging:
  level:
    ROOT: DEBUG

使用 mvn spring-boot:run 命令运行上面示例,应该会看到有日志输出。代码下载请找到Spring Boot目录中的项目:web-slf4j-logging

 

本站代码下载:http://www.yiibai.com/siteinfo/download.html

http://www.yiibai.com/spring-boot/slf4j-logging-example.html

猜你喜欢

转载自nethub2.iteye.com/blog/2380050
今日推荐