【发布时间】:2017-03-10 07:43:41
【问题描述】:
我正在尝试编写一个新的 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();
对比:
private static Logger LOG =
LoggerFactory.getLogger(ResourceStatements.class);
【问题讨论】:
-
不要。做。这个。请。只需按预期使用 Slf4j - 这种“日志记录实用程序
class”只会让事情变得更糟。 -
P.S.你知道什么是拼写检查器……对吧?
-
P.P.S 如果您正在考虑展开堆栈以计算调用者 - 也不要这样做。简而言之——放弃这个想法;太可怕了。
-
@BoristheSpider 哈哈。 +3 虚拟评论支持,分布在您认为合适的地方
-
有什么好笑的?