在Laravel 5.6中我试图制作适当的松弛日志,我做了:
'channels' => [
'stack' => [
'driver' => 'stack',
'channels' => ['single', 'slack'],
],
'slack' => [
'driver' => 'slack',
'url' => env('LOG_SLACK_WEBHOOK_URL'),
'username' => 'TEST',
'icon' => ':boom:',
'level' => 'info',
],
它工作但我想指定其他字段,如果它与其他条件匹配可能会稍微自定义 .
我正在查看SlackWebhookHandler.php monolog文件,但并非所有参数都在此配置中工作 . 例如,表情符号和用户名不起作用 - 我不知道slack是否已经有更改bot用户名的选项 . 另一个例子是在这个文件中它被称为useAttachment,这里它只是附件 - 存储名称的地方..?
回到主题我做了:
Log::info('added test',['test'=>'test']);
并且它可以工作,但是对于松弛我想在每个请求中发送附加字段,例如:
'added test',['test'=>'test', 'more' => 'test2']
我怎么能完成它?我需要以某种方式连接到Log Class和slack驱动程序,但我不知道如何做到这一点?
2 回答
我能够更接近解决方案但仍然根本没有:现在我在logging.php上了
我创建了App / Logging / SlackLogger.php:
只有当我不尝试在松弛时制作自定义附件时它才有效..当我想要做的时候:
$ record丢失了'attachments'数组..我在SlackWebhookHandler中在write函数中检查它,因为在这个pushProcessor返回它仍然存在,但没有发送到松弛 . 我知道这可能与
$handler->setFormatter($formatter);
有关,但如果我删除它,问题仍然存在 - 所以我仍然不知道如何解决它 .我调试自己SlackRecord :: getSlackData,在那里你看到他如何处理附件并将其他数据添加到记录中 .
对我来说它完全适合在slack通道的logging.php中设置
'context' => true
并定义一个处理器,只需添加我需要的数据到记录所以也许你可以再次调试
getSlackData
,看看为什么他跳过你需要的附件部分 .