反正我是这样处理的,通常在页面上进行重试,记录下重试的数据,然后查看数据库的值,还有就是查看日志。如果是多台机子的集群,就蛋疼了,谁知道日志刚刚访问哪台机子呀?
淘宝提供了工具,logSearch,可以查询一系统机子的日志。
linux命令好像也有一个pgm,今天找了一下,没有工到。回头再问问别人。
pgm -A -f consign "grep -r 2013-08-09 17:42:*execption /home/admin/consign/logs/*/logistics.log"
armory -g consign -S online -l
我介绍一个工具,https://github.com/chengtongda/greys-anatomy , 版权来自我的老大。
这个东西挺有意思,是用java写的,主要用的技术很多,代理,注解,反射,修改字节码,有兴趣可以看看,我只提醒一点,这个程序有两个入口处,
里面最贱的一个功能,javascript,你可以写javascript代码,把程序的入参全部打印出来。也能把程序的返回值给打印出来。
不信,你可以玩玩。
--------------------------------------------------------------------------------以下是日常开发所有脚本:------------------------------------------------------------------------------------
javascript -class .*BatchConsign.* -method .*execute.* -file /home/zhengguoxing/g.js
javascript -class .*DefaultOrderAO.* -method .*queryOrdersByTradeIds.* -file /home/zhengguoxing/g.js
javascript -class .*LogisticsOrderServiceImpl.* -method .*createLogisticsOrder.* -file /home/zhengguoxing/g.js
function before(p,o,m,t){
var b = p.parameters[0] ;
for(var a in b ){
out.println("p:"+a+" value:"+b[a])
}
}
function finished(p,o,m,t){
}
monitor -class .*DefaultOrderAO.* -method .*queryOrdersByTradeIds.* -cycle 10
g.js
function before(p,o,m,t){
var b = p.parameters[0] ;
for(var i= 0 ; i<b.length;i++){
o.println(b[i]+"\n");
}
o.println( "2:"+p.parameters[1]);
}
function finished(p,o,m,t){
o.println("\nout:-----------\n");
o.println("return:"+p.returnObj.size());
}