java开发过程中经常需要打印日志信息,往往会在每个类的第一行加上形如以下代码:
protected Logger logger = LoggerFactory.getLogger(getClass());
getClass() 是 java.lang.Object 中的方法,它返回一个对象的运行时类;
Logger.getLogger(getClass())又得到什么?
它得到一个Logger对象,这个Logger将监视this.getClass()这个运行时类,这个运行时类里面你可能创建了log.info(""), log.debug(""),……等语句,那么这些语句就会根据你预先定义的Logger级别来输出你的日志。就跟你写System.out.print("")一样,不同的是Logger可以根据需要按级别进行日志输出控制。(当然这只是一方面)
简单来说:
使用目的:使用指定的类XXX初始化日志对象,方便在日志输出的时候,可以打印出日志信息所属的类。
示例:protected static final Logger logger = LoggerFactory.getLogger(XYZ.class);
logger.debug("hello world");
输出:XYZ:hello world