美文网首页Java后端SpringBoot
SpringBoot(三) logback配置

SpringBoot(三) logback配置

作者: 间歇性丶神经病患者 | 来源:发表于2018-02-05 10:16 被阅读11次

    正文

    日志文件在开发中至关重要,是日后查看异常,排查bug的重要依据。
    像我大安卓,也会有日志记录类Thread.UncaughtExceptionHandler进行错误异常日志记录,并回传后台进行汇总报告,或者是使用Bugly 来进行异常日志捕获,那么服务器也是会有类似的。
    而我们使用的是logback

    使用

    配置文件:logback-spring.xml

    <?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>
                    %msg%n
                </pattern>
            </encoder>
            <!--滚动策略-->
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!--路径-->
                <fileNamePattern>log/tomcat/sell/info.%d.log</fileNamePattern>
            </rollingPolicy>
        </appender>
    
    
        <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
                <level>ERROR</level>
            </filter>
            <encoder>
                <pattern>
                    %msg%n
                </pattern>
            </encoder>
            <!--滚动策略-->
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!--路径-->
                <fileNamePattern>log/tomcat/sell/error.%d.log</fileNamePattern>
            </rollingPolicy>
        </appender>
    
        <root level="info">
            <appender-ref ref="consoleLog" />
            <appender-ref ref="fileInfoLog" />
            <appender-ref ref="fileErrorLog" />
        </root>
    
    </configuration>
    

    存放位置

    位置

    与application同级

    配置方法

    配合 插件


    插件

    在使用的类前面加入注解:

    @Slf4j
    

    具体如下:

    @RestController
    @RequestMapping("api/home")
    @Api(value = "首页模块")
    @Slf4j
    public class AwayController {
    ...
    }
    

    使用方法

    
        @GetMapping("shopList")
        @ApiOperation("获取店铺列表")
        public ResultVO shopList(@RequestParam(value = "page", defaultValue = "0") Integer page,
                                 @RequestParam(value = "size", defaultValue = "10") Integer size) {
            Sort orders = new Sort(Sort.Direction.ASC, "id");
            PageRequest pageRequest = new PageRequest(page, size, orders);
            Page<Shop> shopPage = shopService.findShopList(pageRequest);
            List<ShopResultVo> shopResultVos = shopPage.getContent()
                    .stream()
                    .map(shop -> {
                        ShopResultVo shopResultVo = new ShopResultVo();
                        List<Discount> discounts = discountService.findAllByBelongingId(shop.getId());
                        BeanUtils.copyNonNullProperties(shop, shopResultVo);
                        shopResultVo.setDiscounts(discounts);
                        return shopResultVo;
                    }).collect(Collectors.toList());
    
            log.error("shopResultVos is {}",shopResultVos.toString());
            return ResultVoUtils.success(shopResultVos);
        }
    

    其中

      log.error("shopResultVos is {}",shopResultVos.toString());
    

    就是调用了log方法

    结果

    控制台结果 日志文件结果

    相关文章

      网友评论

        本文标题:SpringBoot(三) logback配置

        本文链接:https://www.haomeiwen.com/subject/lydbzxtx.html