Log4J - 在对LogManager.getLogger()的调用中显式指定类名是否有任何意义?

nc.*_*nc. 2 java log4j

我正在研究一些包含大量代码的遗留代码

private final Logger logger = LogManager.getLogger(ThisClassName.class);
Run Code Online (Sandbox Code Playgroud)

我想知道键入"ThisClassName.class"是否有任何优势,而不是

LogManager.getLogger(getClass());
Run Code Online (Sandbox Code Playgroud)

据我所知,没有,但我想知道使用getClass()是否有任何负面影响.谢谢.

Mic*_*ers 11

如果您正在制作Logger static,则无法使用getClass().


Gar*_*art 6

此外,如果有一个实际调用该方法的子类,getClass()将模糊实际的类.例如,假设在类A中,方法X,您调用log.debug(),类B扩展类A,覆盖方法X,但在某些时候调用super.X.日志文件将显示B类,而不是A类.