Beet是一个Java开源类库用于记录Spring Java应用程序的性能指示。它能够记录Java方法调用情况、SQL语句和HTTP请求,也可以记录自定义事件。配置简单,并且不需要改动任何代码。能够立即知道那一个用户与Session触发的每一个事件和什么时候触发的。提供JMX管理和诊断工具。能够将记录数据输出为XML或利用JDBC存储到数据库中。Beet对系统资源消耗低。
官方网址:http://beet.sourceforge.net/(官方网站不支持IE6,建议用Firefox或者Chrome浏览)
我读完教程后,竟然发现Beet就是好像专门为Ss3ex设计的,Beet的配置环境和ss3ex的环境一样 :D 。
指南地址:http://beet.sourceforge.net/documentation/tutorial
我再怎么描述,觉得也比不了官方的写得好。
我简述总结下:
1、Beet能够记录Java方法调用情况、SQL语句和HTTP请求,分别对应在配置文件spring-base.xml中的三个地方,配置简单。
2、其中官方的指南上对于记录Java方法调用情况,是用AspectJ pointcut 写的:

track-method-expression="execution(* com.mtgi.analytics.example.service..*(..))"

我可以做下改进,结合annotation的标签来做声明式标注:

@Pointcut("@annotation(你自定义的标签)")

具体的可以参考我博客中的另一篇文章《ss3ex中使用声明式缓存》中的annotation的标签的用法。
3、配置后记录日志的格式如下:

<?xml version="1.0" encoding="UTF-8" ?> - <event-log>- <event id="3dc2f043-c764-48f9-9977-76f689ba12e3">  <type>http-request</type>   <name>/</name>   <application>ss3ex</application>   <start>2009-05-30T22:42:29.203+08:00</start>   <duration-ms>234</duration-ms> - <event-data uri="/" protocol="HTTP/1.1" method="GET" remote-address="127.0.0.1" remote-host="127.0.0.1">  <parameters />   </event-data>  </event>- <event id="d5576543-d7d0-48c5-a830-3060078a5cb3">  <type>http-request</type>   <name>/demo/success.shtml</name>   <application>ss3ex</application>   <start>2009-05-30T22:42:29.437+08:00</start>   <duration-ms>94</duration-ms> - <event-data uri="/demo/success.shtml" protocol="HTTP/1.1" method="GET" remote-address="127.0.0.1" remote-host="127.0.0.1">  <parameters />   </event-data>  </event>……

附录:spring-beet.xml文件

<?xml version="1.0"?> <beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns:bt="http://www.mantis-tgi.com/schema/bt/1.1"       xsi:schemaLocation="          http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd          http://www.mantis-tgi.com/schema/bt/1.1         http://www.mantis-tgi.com/schema/bt/mtgi-bt-1.1.xsd">   <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>   <bt:manager application="ss3ex" flush-schedule="0/30 * * * * ?"              track-method-expression="@annotation(log)">        <bt:xml-persister binary="false" compress="false" file="${catalina.home}/logs/beet-ss3ex-perf.xml"/>       <bt:http-requests parameters="command"/> </bt:manager>

</beans>

其中@annotation(log)是我声明的日志标签。

ss3ex集成Beet记录日志相关推荐

  1. mongodb java 日志分析_记一次log4j与mongodb集成引发的问题分析

    问题背景 对项目中的关键应用调用链日志需要结构化得统一吐出到mongodb中,同时项目中日志输出使用log4j,故准备使用log4j的Appender直接集成mongodb的输出,同时mongodb采 ...

  2. spring集成mongodb通过aop记录业务日志

    1. 编辑 pom.xml 添加 maven 依赖 <!-- mongodb --><dependency><groupId>org.mongodb</gro ...

  3. java日志统一集成的两种方案

    slf4j架构 Log4j日志集成 Logback日志集成 总结 分享的目的 一次性的解决应用中日志遇到的各种问题,包括:消除应用启动过程中与日志系统相关的无用错误提示,日志打印不出来的问题等: Sl ...

  4. SpringMVC学习(三)——SpringMVC+Slf4j+Log4j+Logback日志集成实战分享

    文章目录 1.概述 1.1 说明 1.2 日志体系 1.2.1 JCL日志面门介绍 1.2.2 Slf4j日志面门介绍 2.几种日志系统介绍: 2.1 Slf4j 2.2 Commons-loggin ...

  5. Spring MVC集成Log4j

    以下示例显示如何使用Spring Web MVC框架集成LOG4J.首先使用Eclipse IDE,并按照以下步骤使用Spring Web Framework开发基于动态表单的Web应用程序: 创建一 ...

  6. (二):集成日志框架:springboot使用logback日志框架

    前言 项目中日志系统是必不可少的,目前比较流行的日志框架有log4j.logback等,可能大家还不知道,这两个框架的作者是同一个人,Logback旨在作为流行的log4j项目的后续版本,从而恢复lo ...

  7. SpringBoot+Dubbo集成ELK实战

    一直以来,日志始终伴随着我们的开发和运维过程.当系统出现了Bug,往往就是通过Xshell连接到服务器,定位到日志文件,一点点排查问题来源. 随着互联网的快速发展,我们的系统越来越庞大.依赖肉眼分析日 ...

  8. 踩坑记(1)——使用slf4j+logback记录日志

    刚开始的jar包版本如下,因为选择jar包版本不同导致的一些坑,踩过了就记录下来: <spring.version>3.1.0.RELEASE</spring.version> ...

  9. asp.net core 集成 log4net 日志框架

    asp.net core 集成 log4net 日志框架 Intro 在 asp.net core 中有些日志我们可能想输出到数据库或文件或elasticsearch等,如果不自己去实现一个 Logg ...

最新文章

  1. 正确使用STL-MAP中Erase函数
  2. Java源码详解零:HashMap介绍
  3. mysql 多个游标_mysql 存储过程中使用多游标
  4. python waitkey_python中VideoCapture(),read(),waitKey()的使用
  5. python3.7代码转python2.7_Python3.7与Python2.7在centos7下兼容并存
  6. Dual-arm cooperation and implementing for robotic harvesting tomato using binocular vision(摘西红柿机器人)
  7. numpy randn 和_人生苦短,自学python——numpy模块
  8. vue 多页面应用例子_【微服务】137:Vue之生命周期钩子
  9. RBAC权限认证流程图
  10. C#的百度地图开发(四)前端显示与定位
  11. HTML中美化页面,10 使用CSS美化页面
  12. SqlServer2012中使用动态sql语句
  13. 2017春运抢票软件哪个好,教你看懂刷票原理!
  14. python信号处理加汉明窗_SciPyTutorial-非整周期信号加窗
  15. 人工智能在教育方面应用的思考(一)
  16. 给自己的网站添加在线客服代码
  17. selenium 与浏览器 以及浏览器驱动版本问题
  18. 面经 | 腾讯/阿里/京东/头条/旷视等20+企业计算机视觉算法岗面经吐血整理
  19. Unity 3D游戏编程自学#7——NGUI入门
  20. Java中的内部类与匿名内部类详解

热门文章

  1. shell脚本实现批量解析域名IP地址(支持多DNS)
  2. Android 画布使用之电子签名
  3. IE10访问Apache2.4卡死的问题
  4. 点云obb盒显示 python
  5. 电脑更换固态硬盘并安装系统
  6. 比Python爬虫简单的爬虫方法1-后羿采集器
  7. Kotlin 之 lateinit关键字 与lazy
  8. 关于快速学习一项新技术或新领域的一些个人思维习惯与思想总结
  9. Asterisk 实现语音提示:您呼叫的号码无法接通
  10. Android studio 学习 之打包