LoggerFactory.getLogger(String name)用法

来源:互联网 发布:知君的书法 编辑:程序博客网 时间:2024/05/29 14:24

public static Logger getLogger(String name)用法

1.使用指定类初始化日志对象 在日志输出的时候,可以打印出日志信息所在的类,如下: Logger logger = LoggerFactory.getLogger(com.User.class);       logger.debug("用户信息");       将会打印出: com.User : 用户信息 2.看源码: LoggerFactory中的getLogger方法,返回一个以name命名的静态绑定的实例, 而这个name一般以Logger实例所在的类命名,如通过类名.Class.getName()获取。 public static Logger getLogger(String name) {    ILoggerFactory iLoggerFactory = getILoggerFactory();    return iLoggerFactory.getLogger(name);  }  ILoggerFactory的接口实例在编译时内部绑定LoggerFactory,这个接口中只有一个public Logger getLogger(String name)方法,根据参数名称返回适当的实例看看这个getILoggerFactory()方法.public static ILoggerFactory getILoggerFactory() {    if (INITIALIZATION_STATE == UNINITIALIZED) {      INITIALIZATION_STATE = ONGOING_INITIALIZATION;      performInitialization();    }    switch (INITIALIZATION_STATE) {      case SUCCESSFUL_INITIALIZATION:        return StaticLoggerBinder.getSingleton().getLoggerFactory();      case NOP_FALLBACK_INITIALIZATION:        return NOP_FALLBACK_FACTORY;      case FAILED_INITIALIZATION:        throw new IllegalStateException(UNSUCCESSFUL_INIT_MSG);      case ONGOING_INITIALIZATION:        // support re-entrant behavior.        // See also http://bugzilla.slf4j.org/show_bug.cgi?id=106        return TEMP_FACTORY;    }    throw new IllegalStateException("Unreachable code");  } 这是返回ILoggerFactory的实例,用于调取getLogger方法。在Logger接口中规定了日志的输出的方法,根据相应的参数需要设置就可以在控制台看到输出的日志信息了。 
0 0
原创粉丝点击