将事件发送至 Insights
Honeybadger 的 PHP (v2.19+) 和 Laravel (v4.1+) 包可用于发送 事件 见解 。
自动仪表
标题为“自动检测”的部分如果您使用的是 Laravel 或 Lumen,Honeybadger 提供自动检测功能来捕获您应用中的事件。默认情况下,我们会记录:
您可以使用
events
选项
config/honeybadger.php
:
‘
事件
‘
=>
[
‘
已启用
‘
=>
真的
,
‘
自动的
‘
=>
[
活动
数据库查询执行
::
班级
,
活动
数据库事务已开始
::
班级
,
活动
数据库事务已提交
::
班级
,
活动
数据库事务回滚
::
班级
,
活动
缓存命中
::
班级
,
活动
缓存未命中
::
班级
,
活动
作业队列
::
班级
,
活动
邮件发送
::
班级
,
活动
电子邮件已发送
::
班级
,
活动
消息已记录
::
班级
,
活动
通知发送
::
班级
,
活动
通知已发送
::
班级
,
活动
通知失败
::
班级
,
活动
Redis命令执行
::
班级
,
活动
匹配的路线
::
班级
,
活动
查看渲染
::
班级
,
],
],
这
events.automatic
键包含 Honeybadger 跟踪的事件列表
默认。您可以通过删除或注释掉
适当的线路。
手动发送事件
标题为“手动发送事件”的部分您也可以手动发送事件。首先配置 Honeybadger 并启用事件:
蜜獾
=
蜜獾
蜜獾
::
新的
([
‘
api_key
‘
=>
‘
我的 API 密钥
‘
,
‘
事件
‘
=>
[
‘
已启用
‘
=>
真的
]]);
然后您可以使用
$honeybadger->event
方法:
蜜獾
->
事件
(
‘
用户活动
‘
,[
‘
行动
‘
=>
‘
登记
‘
,
‘
用户身份
‘
=>
123])
第一个参数是事件的类型(
event_type
)和第二个
参数是一个包含您想要包含的任何其他数据的对象。
$honeybadger->event
也可以使用单个参数作为对象来调用
包含事件的数据:
蜜獾
->
事件
([
‘
事件类型
‘
=>
‘
用户活动
‘
,
‘
行动
‘
=>
‘
登记
‘
,
‘
用户身份
‘
=>
123])
时间戳字段(
ts
) 将自动添加到事件数据中(如果
无论使用何种方法发送事件,均不提供。
可以使用以下 BadgerQL 查询找到这些事件:
字段 @ts、@preview| 过滤器 event_type::str == “user_activity”| 过滤器操作::str ==“注册”| 排序 @ts
自动日志检测
标题为“自动日志检测”的部分您可以通过以下方式将应用程序日志发送到 Insights:
蜜獾来自你的
基础设施
或者
如果你正在使用 Monolog,你可以注册 Honeybadger 的
LogEventHandler
类作为处理程序:
$记录器
=
新的
独白\
记录器
(
‘
我的记录器
‘
(英文):蜜獾
=
蜜獾
蜜獾
::
新的
([
‘
api_key
‘
=>
‘
我的 API 密钥
‘]);$记录器
->
push处理程序
(
新的
蜜獾
日志事件处理程序
($
蜜獾
));$记录器
->
信息
(
‘
一条信息消息
‘
(英文):$记录器
->
信息
(
‘
带有上下文数据的信息消息
‘
,[
“
某些键
“
=>
“
某个值
“
]);$记录器
->
错误
(
‘
错误消息
‘
(英文):
您可以向
LogEventHandler
构造函数
指定发送到 Honeybadger 的最低日志级别。默认值为
Monolog\Logger::INFO
。
新的
蜜獾
日志事件处理程序
($
蜜獾
,
独白
\
记录器
::
调试
(英文):
这会将所有日志消息发送到 Insights,它们将显示在 见解 部分 您的仪表板。
使用 Laravel 或 Lumen
标题为“使用 Laravel 或 Lumen”的部分如果您使用 Laravel 或 Lumen,
注册自定义频道
在你的
config/logging.php
,利用
HoneybadgerLogEventDriver
:
‘
频道
‘
=>
[
// ...
‘
蜜獾
‘
=>
[
‘
司机
‘
=>
‘
风俗
‘
,
‘
通过
‘
=>
Honeybadger\HoneybadgerLaravel\
HoneybadgerLogEventDriver
::
班级
,
‘
姓名
‘
=>
‘
蜜獾
‘
,
‘
等级
‘
=>
‘
信息
‘
,
],
],
现在,您可以使用 Laravel 的日志外观正常编写日志消息,它们将显示在 Honeybadger Insights 中:
日志
::
渠道
(
‘
蜜獾
‘
)
->
信息
(
‘
一条信息消息
‘
(英文):日志
::
渠道
(
‘
蜜獾
‘
)
->
错误
(
‘
带有上下文的错误消息
‘
,[
“
某些键
“
=>
“
某个值
“
]);
将此自定义频道添加到您的默认堆栈,然后,您的所有日志消息都将出现在 Honeybadger Insights 中:
‘
频道
‘
=>
[
‘
堆
‘
=>
[
‘
司机
‘
=>
‘
堆
‘
,
‘
频道
‘
=>
[
‘
单身的
‘
,
‘
蜜獾
‘
],
‘
忽略异常
‘
=>
错误的
,
],
// ...
],
忽略事件
标题为“忽略事件”的部分您可以使用以下方式以编程方式忽略事件
beforeEvent
回调。这
在事件发送到 Honeybadger 之前调用回调。如果回调
回报
false
,则不会发送该事件。
例如,您可以根据事件类型忽略事件:
蜜獾
->
事件之前
(
功能
(
&
$事件
)
{
如果
(
$事件
[
‘
事件类型
‘
]
===
‘
用户活动
‘
&&
$事件
[
‘
行动
‘
]
===
‘
登记
‘
){
返回
错误的
;
}});
或者,您可以在发送事件数据之前修改它:
蜜獾
->
事件之前
(
功能
(
&
$事件
)
{
$事件
[
‘
用户身份
‘
]
=
456
;});
笔记
:您可以注册多个
beforeEvent
回调。如果其中任何一个
返回
false
,则不会发送该事件。
采样事件
标题为“采样事件”的部分如果您发现您想报告较少的事件,以尽量减少您的
配额消耗,您可以在
config/honeybadger.php
有条件地发送一定比例的事件:
‘
事件
‘
=>
[
‘
已启用
‘
=>
真的
,
‘
采样率
‘
=>
10
]
这将发送与请求无关的 10% 事件,以及 10% 请求的所有事件。