Java 如何将静态方法与另一个返回类型(如方法编码的类)一起使用
我正在尝试编写一个新的Logger类,它使用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
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();