05、API介绍Event

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)

内容放到了堆栈的最上方便于查看。

版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: