Java 如何将静态方法与另一个返回类型(如方法编码的类)一起使用

Java 如何将静态方法与另一个返回类型(如方法编码的类)一起使用,java,logging,static,Java,Logging,Static,我正在尝试编写一个新的Logger类,它使用org.slf4j.Logger及其自己的LogUtil类 这就是我的问题。我想尝试创建一个名为getInstance()的静态方法,该方法将使用类Vlogger的变量初始化。但是该方法的返回类型是Logger public class VLogger { private static LogMessageBuilder logMessageBuilder; private LogUtil logUtil; public s

我正在尝试编写一个新的Logger类,它使用
org.slf4j.Logger
及其自己的
LogUtil

这就是我的问题。我想尝试创建一个名为
getInstance()
的静态方法,该方法将使用类
Vlogger
的变量初始化。但是该方法的返回类型是
Logger

public class VLogger  {
    private static LogMessageBuilder logMessageBuilder;
    private LogUtil logUtil;

    public static Logger getInstance() {
        // String className = new Exception().getStackTrace()[1].getClassName();
        return LoggerFactory.getLogger(Reflection.getCallerClass().toString());
    }}
在这里,您可以看到我想要的旧电话和新电话:

Vlogger vlog = VLogger.getInstance();
Vs:

我得到了答案:

public static VLogger getInstance() {
        VLogger result = new VLogger();
        result.l = LoggerFactory.getLogger(new Exception().getStackTrace()[1].getClassName());
        return result;
    }
电话:

vLogger.message("Folgende Statements wurden verwednet").att(test, m).debug();

不要。做这请只要按原意使用Slf4j——这种“日志实用工具
class
”只会让事情变得更糟。你知道什么是拼写检查器。。。对吗?P.P.S如果你正在考虑展开堆栈来计算调用者-也不要这样做。简言之,放弃这个想法;这太可怕了。@Boristeider哈哈哈。+3条虚拟评论加投票,在他们中间分发,但你们看不出有什么好笑的?@Boristeider
vLogger.message("Folgende Statements wurden verwednet").att(test, m).debug();