当前位置 博文首页 > 少年时未觉悟 ,觉悟时不再年少,还危机四伏!:@Log 注解的实例

    少年时未觉悟 ,觉悟时不再年少,还危机四伏!:@Log 注解的实例

    作者:[db:作者] 时间:2021-07-16 15:35

    背景

    最近产品测试,由于产品基于多模块开发的,测试比较麻烦。真的是一个 bug 能改一天的节奏。本文记录测试过程中碰到的几个低级问题,希望能给读者朋友一些启示。

    el-form 的 label-width

    el-formlabel-width 可以设置表单中标题的宽度,相当方便,基本语法为:

    <el-form  label-width="80px"  size="mini">
    

    但是,如果这个值设置成了样式的值就会失效了,比如下面这个:
    在这里插入图片描述
    el-form-item 的 label 如果宽度不一致,就会错乱了。写习惯了 style="width:80px;" 这样的代码,带入到 vue.js 中就出现了这个简单错误了。

    @Log 注解

    @Log 是 lombok 插件的注解,可以自动注入一个日志类对象,使用方法为:

    import lombok.extern.java.Log;
    @Log
    public class ClassNameMy {
    }
    

    编译后的类中自动添加一个日志对象的成员变量:
    在这里插入图片描述
    从编译源码可以做,它的类型是原生日志对象,通常情况下打印的日志不会进入当前应用的日志输出文件中,所以基本上日志都被淹没了,无法排查问题。

    解决办法:

    1. 为当前应用添加日志配置文件,输出当前应用的所有日志信息。
    2. 放弃 @Log 注解,使用与应用一致的日志系统。

    Profiles

    多模块开发的时候,如果每个模块并没有统一的 profile,而右侧无意中勾选了某个配置:
    在这里插入图片描述
    最终,导致单独启动某个模块会报数据库连接错误,根源异常为:

    no profiles are currently active
    
    cs