das-tobbel / laravel-mattermost-logger
1.1.1
2021-04-27 14:46 UTC
Requires
- das-tobbel/mattermost-php: ^1.0
- illuminate/routing: ^8.0
- laravel/helpers: ^1.3
- monolog/monolog: ^2.1
This package is auto-updated.
Last update: 2024-09-27 22:18:04 UTC
README
此驱动程序允许您将日志发送到您的Mattermost(开源Slack替代品)。它将发送异常堆栈跟踪和日志的上下文(Laravel中logger函数的第二个参数)。
安装
composer require das-tobbel/laravel-mattermost-logger
配置
添加日志驱动程序
在您的 config/logging.php
中添加新的驱动程序
'mattermost' => [
'driver' => 'custom',
'via' => DasTobbel\MattermostLogger\MattermostLogger::class,
'webhook' => env('MATTERMOST_WEBHOOK'),
],
并在 config/logging.php
中更新您的栈
'stack' => [
'driver' => 'stack',
'channels' => ['single', 'mattermost'],
],
如果您在测试期间不想将日志发送到Mattermost,请务必在本地和测试环境中添加 LOG_CHANNEL=single
。
可用的选项
您可以在 config/logging.php
中的 driver
和 via
键后添加选项。所有选项及其默认值在代码中 https://gitlab.com/DasTobbel/laravel-mattermost-logger/blob/master/src/MattermostHandler.php#L14-22
- webhook (无): Mattermost实例的webhook URL
- channel (town-square): 日志将被发送到的频道slug
- icon_url (无): Mattermost中显示的图标的相对URL(包将使用
url()
辅助函数生成完整路径) - username (Laravel Logs): Mattermost中显示的用户名
- level (INFO): 低于此级别的日志将不会发送到您的Mattermost实例(默认情况下,调试日志不会发送)
- level_mention (ERROR): 高于此级别,Mattermost中的日志将变红,并且人们会收到提醒
- mentions ([@here]): 在日志高于 level_mention 时需要提醒的人员数组
- short_field_length (62): 上下文内容超过此值将被放入Mattermost的扩展字段(两列布局,见截图)
- max_attachment_length (6000): 截断内容,此值以下(否则Mattermost将拒绝负载)
用法
logger()->info('Some message', [
'context' => 'Some contex',
'an_array_of_things' => ['foo', 'bar', 'baz'],
]);
// Or
throw new Exception('An exception occured');
待办事项
- 添加将HTTP请求队列化的可能性