Java记录器,自动确定调用者的类名 [英] Java logger that automatically determines caller's class name

查看:102
本文介绍了Java记录器,自动确定调用者的类名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

public static Logger getLogger() {
    final Throwable t = new Throwable();
    final StackTraceElement methodCaller = t.getStackTrace()[1];
    final Logger logger = Logger.getLogger(methodCaller.getClassName());
    logger.setLevel(ResourceManager.LOGLEVEL);
    return logger;
}

此方法将返回一个记录器,该记录器知道它正在记录的类。
反对它的任何想法?

This method would return a logger that knows the class it's logging for. Any ideas against it?

许多年后: https://github.com/yanchenko/droidparts/blob/master/droidparts/src/org/droidparts/util/L.java

推荐答案

我想这会为每个课程增加很多开销。每个班级都必须抬头。你创建了新的Throwable对象......这些throwable不是免费的。

I guess it adds a lot of overhead for every class. Every class has to be 'looked up'. You create new Throwable objects to do that... These throwables don't come for free.

这篇关于Java记录器,自动确定调用者的类名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆