欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【未解决问题】封装slf4j在spring中无法输出正确的调用类

程序员文章站 2022-07-03 15:14:54
...

背景

要输出slf4j日志,需要在类上添加一行

private static final Logger log = LoggerFactory.getLogger(UserClass.class);

为了省去这个步骤,于是添加Log工具类,主要通过下面这个方法拿到调用这方法的Class,然后封装日志输出方法

  public static void info(String format, Object... arguments) {
   		StackTraceElement[] stackTrace = new Throwable().getStackTrace();
   		Logger log = LoggerFactory.getLogger(stackTrace[2].getClassName());
       	log.info(format,arguments);
    }

经过测试发现,在简单java项目中使用输出正确调用类名,而在spring boot 项目中输出的类名为Log,这显然是错误的。

相关标签: slf4j