承接 dmitrijkalugin/message-log 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

dmitrijkalugin/message-log

最新稳定版本:v1.0.0

Composer 安装命令:

composer require dmitrijkalugin/message-log

包简介

Laravel log handler that sends log messages to various messengers (Telegram, Slack, Discord)

README 文档

README

Laravel библиотека для автоматической отправки логов в мессенджеры (Telegram, Slack, Discord).

Возможности

  • ✅ Отправка логов в Telegram, Slack, Discord
  • ✅ Настраиваемые уровни логирования для каждого канала
  • ✅ Асинхронная отправка через Laravel Queues
  • ✅ Throttling для предотвращения спама
  • ✅ Красивое форматирование сообщений
  • ✅ Легко расширяемая архитектура

Установка

1. Установка через Composer

composer require dmitrijkalugin/message-log

2. Публикация конфигурации

php artisan vendor:publish --tag=messagelog-config

Это создаст файл config/messagelog.php с настройками.

Настройка

1. Добавьте переменные в .env

Для Telegram:

TELEGRAM_ENABLED=true
TELEGRAM_BOT_TOKEN=your_bot_token_here
TELEGRAM_CHAT_ID=your_chat_id_here

Для Slack:

SLACK_ENABLED=true
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/YOUR/WEBHOOK/URL
SLACK_CHANNEL=#logs
SLACK_USERNAME="Laravel Logger"

Для Discord:

DISCORD_ENABLED=true
DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/YOUR/WEBHOOK/URL
DISCORD_USERNAME="Laravel Logger"

2. Настройте logging channel в config/logging.php

'channels' => [
    'stack' => [
        'driver' => 'stack',
        'channels' => ['single', 'messagelog'],
        'ignore_exceptions' => false,
    ],

    'messagelog' => [
        'driver' => 'monolog',
        'handler' => \MessageLog\MessageLogHandler::class,
        'level' => env('LOG_LEVEL', 'error'),
    ],
    
    // ... другие каналы
],

3. Настройте уровни логирования

В config/messagelog.php можно настроить, какие уровни логов отправлять в каждый мессенджер:

'channels' => [
    'telegram' => [
        'enabled' => true,
        'levels' => ['emergency', 'alert', 'critical', 'error'],
    ],
],

Доступные уровни: emergency, alert, critical, error, warning, notice, info, debug

Использование

После настройки библиотека автоматически будет отправлять логи:

// Эти логи автоматически отправятся в настроенные мессенджеры
Log::error('Произошла ошибка', ['user_id' => 123]);
Log::critical('Критическая ошибка системы!');
Log::emergency('Система недоступна!');

// С контекстом
Log::error('Ошибка оплаты', [
    'order_id' => 12345,
    'amount' => 1000,
    'error' => 'Payment gateway timeout'
]);

Дополнительные настройки

Асинхронная отправка

Включите в .env:

MESSAGELOG_ASYNC=true

При этом сообщения будут отправляться через Laravel Queue. Убедитесь, что у вас настроен queue worker:

php artisan queue:work

Throttling (ограничение частоты)

По умолчанию включен throttling, чтобы избежать спама одинаковыми ошибками:

MESSAGELOG_THROTTLE_ENABLED=true
MESSAGELOG_THROTTLE_LIMIT=5          # Максимум 5 одинаковых сообщений
MESSAGELOG_THROTTLE_MINUTES=5        # В течение 5 минут

Получение токенов и webhook URL

Telegram

  1. Найдите @BotFather в Telegram
  2. Отправьте /newbot и следуйте инструкциям
  3. Скопируйте токен бота
  4. Добавьте бота в группу или получите свой chat_id через @userinfobot

Slack

  1. Перейдите в Slack API
  2. Создайте новое приложение
  3. Включите "Incoming Webhooks"
  4. Создайте новый webhook для нужного канала
  5. Скопируйте Webhook URL

Discord

  1. Откройте настройки канала в Discord
  2. Перейдите в "Integrations" → "Webhooks"
  3. Создайте новый webhook
  4. Скопируйте Webhook URL

Расширение функциональности

Добавление нового мессенджера

Создайте новый класс, реализующий HandlerInterface:

namespace MessageLog\Handlers;

class CustomHandler extends AbstractHandler
{
    public function send(string $level, string $message, array $context = []): bool
    {
        // Ваша реализация
    }
}

Затем зарегистрируйте его в MessageLogHandler::initializeHandlers().

Требования

  • PHP >= 8.1
  • Laravel >= 10.0
  • Guzzle HTTP >= 7.0

Лицензия

MIT License

Автор

Dmitrij Kalugin

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 6
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-03-26

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固