hive中打印日志的几种方式实现
在debug hive的问题时,我们经常需要在源码里面增加必要的日志信息,来跟踪变量的变化或者是方法执行的情况,性能等。。hive里面有下面几个日志的实现方式。 1种是常用的通过 1 org.apache.commons.logging.Log 和 1 org.apache.commons.logging.LogFactory 类实现的。比如要打印类的info信息时,只需要下面这样就可以。 1 2 static final private LogLOG=LogFactory.getLog(CLASS_NAME) LOG.info( "xxxxxx" ); 如果要跟踪一个方法的执行时间,只需要在在方法调用前后各加一条日志信息记录当前时间戳,然后取差值即可。 另一种是LogHelper 1 org.apache.hadoop.hive.ql.session.SessionState.LogHelper LogHelper类是SessionState的内部类 输出日志最终调用的是LOG.xxx和对应日志输出的println方法(比如System.out.println/log4j等) 但是日...