Using getSimpleName() vs getName() for acquiring logger
我见过使用
1 |
和
1 | static public Logger getLogger(Class clazz) |
前者通过
是的,有很大的不同。
我从不将
例如,对于两个记录器:
1 2 | com.foo.A com.foo.B |
在属性中,我可以有:
1 | log4j.logger.com.foo=DEBUG,CONSOLE |
例如,我的类shapedemo.java驻留在com.test包中,我编写了如下代码。
1 2 |
这将输出以下内容
1 2 | Name-->com.test.ShapeDemo SimpleName-->ShapeDemo |
我更喜欢使用全名(class.getname())。当包被正确组织时,这允许调整Log4J来处理源自Java包树的不同部分的不同日志消息。
例如,您可以轻松地配置包中以"com.mycompany.infra"开头的所有类,以使用特定的附加器,并且只记录级别warn或更高级别的消息。
使用此.getClass().getName();
返回:alin.iwin.flickrbrowser.getrawdata
同时
private string log_tag=this.getClass().getSimpleName();
仅返回:getrawdata。
如果在不同的包中有许多类具有相同的