Event 用来记录一件事发生的次数,比如记录系统异常,它和transaction相比缺少了时间的统计,开销比transaction要小。
Cat.logEvent
记录一个事件。
Cat.logEvent("URL.Server", "serverIp", Event.SUCCESS, "ip=${serverIp}");
Cat.logError
记录一个带有错误堆栈信息的 Error。
Error 是一种特殊的事件,它的 type 取决于传入的 Throwable e .
1、 如果e是一个Error,type会被设置为Error;
2、 如果e是一个RuntimeException,type会被设置为RuntimeException;
3、 其他情况下,type会被设置为Exception;
同时错误堆栈信息会被收集并写入 data 属性中。
try {
int i = 1 / 0;
} catch (Throwable e) {
Cat.logError(e);
}
启动项目,访问接口http://localhost:9100/event/logEvent和http://localhost:9100/event/logError。
通过上图可以看到,增加了两个事件:URL.Server和RuntimeException。点开LOG查看。
这里出现了两个Event的详细内容:
1、 URL.Server是一个正常的事件,打印出了IP=127.0.0.1的信息;
2、 RuntimeException是一个错误Event,不仅打印出了错误堆栈,还将我们打印的;
error(X) := exception(X)
内容放到了堆栈的最上方便于查看。
版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: