@Log 注解的实例打印的日志去哪儿了?

2,995 阅读1分钟

背景

最近产品测试,由于产品基于多模块开发的,测试比较麻烦。真的是一个 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