`
leonmau
  • 浏览: 103326 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

log4j中isDebugEnabled(), log.isInfoEnabled()和log.isTraceEnabled的封装

 
阅读更多

[转载]原文链接 http://blog.csdn.net/greencacti/article/details/5134921

. log4j中log.isDebugEnabled(), log.isInfoEnabled()和log.isTraceEnabled()作用

项目在应用log4j打印Debug,Info和Trace级别的log时需要加上对应的三个方法进行过滤,代码如下:
if (log.isDebugEnabled()) {
    log.debug(" From: " + req.getFrom().toString() +
                  " To: " + req.getTo().toString() +
                  " CallId: " + req.getCallId() +
                  " msg:" + msg);
}
其作用是因为Debug,Info和Trace一般会打印比较详细的信息,而且打印的次数较多,如果我们不加log.isDebugEnabled()等
进行预先判断,当系统loglevel设置高于Debug或Info或Trace时,虽然系统不会答应出这些级别的日志,但是每次还是会拼接
参数字符串,影响系统的性能。
2.错误的优化方法
部分编码人员因为不了解机制,从代码复用性和简洁性而言定义如下函数来封装
    private void debug(String msg) {
        if (log.isDebugEnabled()) {
            log.debug(msg);
        }
}
其实这种封装方式是错误的,因为当系统中调用debug(msg)函数还是出现字符串的拼接。
3.正确的优化方法
建议采用AOP来封装
分享到:
评论

相关推荐

    log4j 同时按日期和文件大小分割日志

    已经封装好,把log4j.appender.fileout=org.apache.log4j.Log4JDateAndSizeSplit 即可,其余和原api一样: log4j.appender.fileout.MaxFileSize=10240KB log4j.appender.fileout.MaxBackupIndex=20

    log4j-1.2.17.jar.zip

    包封装。能够让JAR包里面的文件依赖于统一版本的类文件。 可移植性,能够在各种平台上直接使用。 把一个JAR文件添加到系统的classpath环境变量之后,java通常会把这个JAR文件当做一个路径来处理。通常使用jar命令...

    log4j-1.2.12.jar.zip

    包封装。能够让JAR包里面的文件依赖于统一版本的类文件。 可移植性,能够在各种平台上直接使用。 把一个JAR文件添加到系统的classpath环境变量之后,java通常会把这个JAR文件当做一个路径来处理。通常使用jar命令...

    深入学习log4j

    Loggers组件的主要功能是提供相应API,根据不同配置的loggers将不同级别的log输入到控制台或文件,类似于java中经常用到的System.out.println,但是log4j封装后的loggers组件能够输出更丰富的信息,包括时间,线程,...

    slf4j-log4j12-1.7.5.jar.zip

    包封装。能够让JAR包里面的文件依赖于统一版本的类文件。 可移植性,能够在各种平台上直接使用。 把一个JAR文件添加到系统的classpath环境变量之后,java通常会把这个JAR文件当做一个路径来处理。通常使用jar命令...

    VC log4cplus日志封装log.rar

    log4cplus是C 编写的开源的日志系统,log为对其的封装类,支持类似Format方式输出日志,方便开发中对日志的编写以及维护,在程序启动的时候调用InitLogger方法,例如:  用法基本上和printf()和CSting::Format()...

    Log4j笔记 第九章 封装Log4j

    NULL 博文链接:https://mwhgjava.iteye.com/blog/930106

    封装好的log4j 包括properties文件和使用类

    把log4j的jar放入工程下,直接调用Log4jUtil下面的静态方法就可以了。

    log4net二次日志封装.zip

    对log4net工具包进行了二次封装,利用配置类和静态方法动态创建日志对象,可以设置日志名称、保存根目录、分支目录、日志文件大小、日志文件数量、日志保存时限等。 log4net 是一个高度灵活且强大的日志记录库,可...

    log4j多文件输出打印

    log4j、日志输出、自定义日志、多文件输出。

    log4net 日志类封装

    log4net 日志类封装 log4net 日志类封装

    深入学习log4J

    本书的主要内容有: 1.Log4J配置文件的学习 2.Log4J数据库 3.Log4J封装

    log4cplus日志封装log

    log4cplus是C++编写的开源的日志系统,log为对其的封装类,支持类似Format方式输出日志,方便开发中对日志的编写以及维护

    log4j注释文档

    log4j注释文档,全部注释都在里面。详情请下载查看。

    c# log4net封装类及配置文件

    内容包括log4net.dll 和封装类以及配置文件,日志输出目录可在配置文件中自定义。

    C++基于LOG4CPP的使用封装库

    代码是C++,基于LOG4CPP进行封装日志,适用于Linux环境,使用过程时,对其进行继承即可套用其结构

    日志组件log5j-1.2.jar包

    日志组件log5j,在log4j的基础上进行了封装和改进,使用更加方便高效。

    Log4Net封装,类可直接引入使用,附demo,不同级别日志写不同文件

    Log4Net封装成库,可直接引入使用。包含封装好的类和Demo源码。

    log4cxx封装为通用LOG宏

    将log4cxx封装成LOG(level,format,content)的形式,方便使用,也可用于其他开源日志框架的封装,包含log4cxx的详细配置文件。

    封装的log4cplus的日志库

    封装的log4cplus日志库,软件采用vs2008编写,在实际项目中使用,方便高效。

Global site tag (gtag.js) - Google Analytics