开发随笔

SpringBoot点餐随笔-日志、测试、自定义异常

2017-09-30  本文已影响11人  8813d76fee36

日志级别

进入org.slf4j.event.Level类,可以看到如下日志级别。

日志级别

系统默认是INFO级别,INFO及以上级别的日志将会输出,低于INFO级别的(DEBUG、TRANCE)将不输出。

使用lombok简化开发

Preferences - Plugins - Browse repositories - 搜索 Lombok Plugin - Install

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
占位符打印变量

配置LogBack

注意
在SpringBoot 1.5.7.RELEASE版本中,必须要在application.yml(或application.xml中的logging.config写明日志配置文件的路径,否则项目无法启动)

application.yml配置logging.config

INFO

INFO日志输出

ERROR

ERROR日志输出 加入root

日志配置

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

    <!--控制台日志输出-->
    <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>
                %d - %msg%n
            </pattern>
        </layout>
    </appender>

    <!--文件日志输出-->
    <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--配置过虑-->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <!--设置过虑级别-->
            <level>ERROR</level>
            <!--匹配上述级别时禁止-->
            <onMatch>DENY</onMatch>
            <!--不匹配上述级别时输出-->
            <onMismatch>ACCEPT</onMismatch>
        </filter>
        <encoder>
            <pattern>
                %d - %msg%n
            </pattern>
        </encoder>
        <!--滚动策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--路径-->
            <fileNamePattern>
                /Users/xiaotianxue/MoocRepo/logs/sell/info.%d.log
            </fileNamePattern>
        </rollingPolicy>
    </appender>

    <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--配置过滤器 只输出ERROR-->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
        <encoder>
            <pattern>
                %d - %msg%n
            </pattern>
        </encoder>
        <!--滚动策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--路径-->
            <fileNamePattern>
                /Users/xiaotianxue/MoocRepo/logs/sell/error.%d.log
            </fileNamePattern>
        </rollingPolicy>
    </appender>

    <root level="info">
        <appender-ref ref="consoleLog" />
        <appender-ref ref="fileInfoLog" />
        <appender-ref ref="fileErrorLog" />
    </root>

</configuration>

测试

在IDEA中,可以在要测试的类上右键-Go To-Test,生成测试类。SpringBoot测试类上需要添加@RunWith(SpringRunner.class)@SpringBootTest注解。

利用事务消除测试脏数据

上一篇 下一篇

猜你喜欢

热点阅读