当前位置: 首页 > news >正文

perf4j使用

http://www.blogjava.net/yangpingyu/archive/2012/04/16/374725.html

摘录如下

perf4j最重要的appender就是AsyncCoalescingStatisticsAppender,它会把一段时间内StopWatch的信息汇总到一个独立的GroupedTimingStatistics日志信息,然后把这个独立的信息传给下游的appenders,比如fileappenders,这样就可以写到文件中去了。也可以传给per4j的其他自定义appenders。

<log4j:configuration debug="false" xmlns:log4j="http://jakarta.apache.org/log4j/">
    <!-- Perf4J appenders -->
    <!--
       This AsyncCoalescingStatisticsAppender groups StopWatch log messages
       into GroupedTimingStatistics messages which it sends on the
       file appender defined below
    -->
 
  
    <appender name="xoa.framework.coalescingStatistics" class="org.perf4j.log4j.AsyncCoalescingStatisticsAppender">
        <param name="TimeSlice" value="60000"/>
        <appender-ref ref="xoa.framework.perfStatsAppender"/>
    </appender>

    <!-- 该 appender 用于输出性能统计的汇总结果 -->
    <appender name="xoa.framework.perfStatsAppender" class="org.apache.log4j.FileAppender">
      <param name="File" value="../logs/perfStats.log"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%m%n"/>
        </layout>
    </appender>

    <!-- 该 appender 用于输出性能统计的细节 -->
    <appender name="xoa.framework.perfDetailAppender" class="org.apache.log4j.RollingFileAppender">
      <param name="file" value="../logs/perfDetail.log"/>
      <param name="MaxFileSize" value="200MB"/>
      <param name="MaxBackupIndex" value="10"/>
      <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="%m%n"/>
      </layout>
    </appender>



    <logger name="org.perf4j.TimingLogger" additivity="false">
        <level value="INFO"/>
        <appender-ref ref="xoa.framework.coalescingStatistics"/>
        <appender-ref ref="xoa.framework.perfDetailAppender"/>
    </logger>

 

 

log4j

http://perf4j.codehaus.org/apidocs/org/perf4j/log4j/package-summary.html

 

参考:

http://stackoverflow.com/questions/2645670/perf4j-not-logging-correctly

 

UPDATE:

    log4j 使用其JDBCAppender时候,需要使用

 19       <layout class="org.apache.log4j.PatternLayout">
 20        <param name="ConversionPattern" value="INSERT INTO LOGS VALUES ('%x','%d{yyyy-MM-dd HH:mm:ss}','%C','%p','%m')"/>
 21        </layout>

对下链接的PatternLayout有待了解。

http://www.grepcode.com/file/repo1.maven.org/maven2/log4j/log4j/1.2.15/org/apache/log4j/PatternLayout.java#PatternLayout

另外对log4j怎么从log4j.xml  中读取配置表示一下好奇。

转载于:https://www.cnblogs.com/majia1949/p/4480037.html

相关文章:

  • hdfs使用操作命令
  • node.js的npm详解
  • 求一个n!中尾数有多少个零
  • 扫描之家:RFID技术可以应用在哪些方面?
  • 设置myeclipse自动生成的author等注释
  • equals和==的区别
  • go 安装下载
  • web和APP测试区别
  • 作为一个it码农一天不学习你会不会觉得心里不安
  • C++:成员函数实现在类定义中与在类定义外的区别
  • php实现多线程
  • 跨平台开发相关资料
  • linux下安装apache
  • 【瑜伽520】开源虚拟机 VirtualBox 5.0 Beta 3 发布
  • UI设计中有哪些常见问题需要避免?
  • 【知识碎片】第三方登录弹窗效果
  • C++入门教程(10):for 语句
  • CSS实用技巧
  • E-HPC支持多队列管理和自动伸缩
  • java2019面试题北京
  • javascript从右向左截取指定位数字符的3种方法
  • Javascript基础之Array数组API
  • Java程序员幽默爆笑锦集
  • Java面向对象及其三大特征
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • Python中eval与exec的使用及区别
  • Zsh 开发指南(第十四篇 文件读写)
  • 初识 beanstalkd
  • 番外篇1:在Windows环境下安装JDK
  • 关于extract.autodesk.io的一些说明
  • 关于springcloud Gateway中的限流
  • 记一次用 NodeJs 实现模拟登录的思路
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 巧用 TypeScript (一)
  • 运行时添加log4j2的appender
  • 阿里云API、SDK和CLI应用实践方案
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • #define用法
  • #NOIP 2014# day.2 T2 寻找道路
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (done) 两个矩阵 “相似” 是什么意思?
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (vue)页面文件上传获取:action地址
  • (八)Spring源码解析:Spring MVC
  • (第61天)多租户架构(CDB/PDB)
  • (二)c52学习之旅-简单了解单片机
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (三)docker:Dockerfile构建容器运行jar包
  • (五)Python 垃圾回收机制
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • *上位机的定义