当前位置: 代码迷 >> Java面试 >> log.isTraceEnabled()和log.trace()他们的意思具体是什么?解决方案
  详细解决方案

log.isTraceEnabled()和log.trace()他们的意思具体是什么?解决方案

热度:674   发布时间:2016-04-17 20:51:26.0
log.isTraceEnabled()和log.trace()他们的意思具体是什么?
log.isTraceEnabled()和log.trace()这两个方法的具体意思是什么?
log.isDebugEnabled()和log.debug()这两个方法的具体意思是什么?

trace和debug的区别是什么??

希望可以得到高手的指点。。。。。

------解决方案--------------------
Log接口提供了一组判断是否允许输出特定级别的日志消息的行为,6个级别对应有6个行为,其中:log.isTraceEnabled(), log.isDebugEnabled()都是。
而log.trace(),log.debug()则是6个级别对应的方法,2者结合起来用,有助于提高应用的性能。例如:
StringBuffer buf = new StringBuffer();
buf.append("LOgin Successful");
buf.append("Name: ");
buf.append(user.getName());
...
log.debug(buf.toString());
对于以上代码,如果日志器不允许输出debug级别的日志,那么debug()方法不会输出任何消息,则向StringBuffer中添加消息的操作都是多余的,合理使用 isDebugEnabled()方法,可以避免。
if(log.isDebugEnabled()){
StringBuffer buf = new StringBuffer();
buf.append("LOgin Successful");
buf.append("Name: ");
buf.append(user.getName());
...
log.debug(buf.toString());
}
  相关解决方案