라라벨 로그를 Mattermost 채널로 보내기

Mattermost은 다양한 도구와의 통합을 통해 커뮤니케이션 및 협업을 위한 오픈 소스 플랫폼입니다. Slack 및 Microsoft Teams에 대한 오픈 소스 대안으로 주로 간주됩니다.

Laravel에는 Mattermost에 대한 공식log channel driver이 없지만 Laravel 앱에서 쉽게 구성할 수 있는 사용자 정의Monolog 핸들러를 구축할 수 있습니다.

이를 위해 기존 Mattermost 핸들러와 달리 Mattermostpackage에 따라 메시지 형식을 지정하는 소형docs을 만들었습니다.

설치




$ composer require muhamadhhassan/laramost


구성


config/logging.php 파일에서 mattermost 채널을 channels 배열에 추가합니다.

use LaraMost\Formatter\MattermostFormatter;
use LaraMost\Handler\MattermostWebhookHandler;

'channels' => [
    'mattermost' => [
        'driver'  => 'monolog',
        'handler' => MattermostWebhookHandler::class,
        'formatter' => MattermostFormatter::class,
        'with' => [
            'hook' => 'https://your-mattermost.com/hooks/random-string',
        ],
        'level' => 'error'
    ],
],


단계here에 따라 채널에 대한 수신 Webhook를 생성할 수 있습니다.

레벨



모노로그 레벨은 메시지 색상과 아이콘을 설정하는 데 사용됩니다.


레벨 이름
레벨 값
색깔
이모티콘


디버그
100
#91C4EB
🔍

정보
200
#91C4EB


알아채다
250
#99cc33
📝

경고
300
#ffcc00


오류
400
#cc3300
🐛

위독한
500
#cc3300


비상
600
#cc3300
🚨


용법



간단히 LaravelLog 파사드를 사용하여

Log::channel('mattermost')->error('Something went wrong', ['user_id' => 5]);


가장 중요한 채널에 다음 메시지를 보냅니다.



Warning: When you log to the mattermost channel make sure that the level is greater than or equals the one defined in config/logging.php



그리고 당신은 그것을 가지고 있습니다! 로그 레코드를 Mattermost 채널로 보내는 간단한 구현입니다.

좋은 웹페이지 즐겨찾기