java - 在类的私有(private)静态最终变量中使用动态类名

标签 java reflection static

考虑如下示例:

public class LoggerTestClass {
    private static final Logger LOGGER = Logger.getLogger(LoggerTestClass.class);
}

在上面的示例中,传递给 getLogger 方法的参数是硬编码的,即 LoggerTestClass.class 现在,每次更改类名时,我都必须更改 getLogger 方法的参数。

任何其他自动获取类名的方式,例如对于非静态变量,我们可以添加 this.getClass()

最佳答案

您可以使用Lombok以干净的方式实现它。您需要做的就是将 @Log 放在类的顶部,它将为您提供一个可供使用的 log 对象。 了解更多 here

关于java - 在类的私有(private)静态最终变量中使用动态类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56897382/

相关文章:

java - 迭代时向 ConcurrentSkipListSet 删除和添加元素

java - 从 java 9 中的模块类调用非模块类

ruby - 在 Ruby 中获取调用者的模块

c# - 如何将带有某些绑定(bind)参数的任意函数传递给另一个函数?

c - C中文件范围内的可变修改数组

c - 使用函数的参数初始化静态变量

java - Java ImageIO.read() 中的内存泄漏

java - ElasticSearch:Java 高级 API - 具有动态 ID 的索引文档

c# - 方法信息返回 null,不确定原因

c++ - 静态变量生命周期,文件范围与函数范围