ss3ex集成Beet记录日志
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记录日志相关推荐
- mongodb java 日志分析_记一次log4j与mongodb集成引发的问题分析
问题背景 对项目中的关键应用调用链日志需要结构化得统一吐出到mongodb中,同时项目中日志输出使用log4j,故准备使用log4j的Appender直接集成mongodb的输出,同时mongodb采 ...
- spring集成mongodb通过aop记录业务日志
1. 编辑 pom.xml 添加 maven 依赖 <!-- mongodb --><dependency><groupId>org.mongodb</gro ...
- java日志统一集成的两种方案
slf4j架构 Log4j日志集成 Logback日志集成 总结 分享的目的 一次性的解决应用中日志遇到的各种问题,包括:消除应用启动过程中与日志系统相关的无用错误提示,日志打印不出来的问题等: Sl ...
- 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 ...
- Spring MVC集成Log4j
以下示例显示如何使用Spring Web MVC框架集成LOG4J.首先使用Eclipse IDE,并按照以下步骤使用Spring Web Framework开发基于动态表单的Web应用程序: 创建一 ...
- (二):集成日志框架:springboot使用logback日志框架
前言 项目中日志系统是必不可少的,目前比较流行的日志框架有log4j.logback等,可能大家还不知道,这两个框架的作者是同一个人,Logback旨在作为流行的log4j项目的后续版本,从而恢复lo ...
- SpringBoot+Dubbo集成ELK实战
一直以来,日志始终伴随着我们的开发和运维过程.当系统出现了Bug,往往就是通过Xshell连接到服务器,定位到日志文件,一点点排查问题来源. 随着互联网的快速发展,我们的系统越来越庞大.依赖肉眼分析日 ...
- 踩坑记(1)——使用slf4j+logback记录日志
刚开始的jar包版本如下,因为选择jar包版本不同导致的一些坑,踩过了就记录下来: <spring.version>3.1.0.RELEASE</spring.version> ...
- asp.net core 集成 log4net 日志框架
asp.net core 集成 log4net 日志框架 Intro 在 asp.net core 中有些日志我们可能想输出到数据库或文件或elasticsearch等,如果不自己去实现一个 Logg ...
最新文章
- 正确使用STL-MAP中Erase函数
- Java源码详解零:HashMap介绍
- mysql 多个游标_mysql 存储过程中使用多游标
- python waitkey_python中VideoCapture(),read(),waitKey()的使用
- python3.7代码转python2.7_Python3.7与Python2.7在centos7下兼容并存
- Dual-arm cooperation and implementing for robotic harvesting tomato using binocular vision(摘西红柿机器人)
- numpy randn 和_人生苦短,自学python——numpy模块
- vue 多页面应用例子_【微服务】137:Vue之生命周期钩子
- RBAC权限认证流程图
- C#的百度地图开发(四)前端显示与定位
- HTML中美化页面,10 使用CSS美化页面
- SqlServer2012中使用动态sql语句
- 2017春运抢票软件哪个好,教你看懂刷票原理!
- python信号处理加汉明窗_SciPyTutorial-非整周期信号加窗
- 人工智能在教育方面应用的思考(一)
- 给自己的网站添加在线客服代码
- selenium 与浏览器 以及浏览器驱动版本问题
- 面经 | 腾讯/阿里/京东/头条/旷视等20+企业计算机视觉算法岗面经吐血整理
- Unity 3D游戏编程自学#7——NGUI入门
- Java中的内部类与匿名内部类详解