emotality/laravel-telegram-logger

Laravel 扩展包,用于将异常报告到 Telegram 聊天室、群组或频道。

1.0.4 2024-09-25 12:50 UTC

This package is auto-updated.

Last update: 2024-09-25 12:51:15 UTC


README

License Latest Version Total Downloads

Laravel 扩展包,用于将异常报告到 Telegram 聊天室、群组或频道。

需求

  • PHP 8.1+
  • Laravel 10

安装

  1. composer require emotality/laravel-telegram-logger
  2. php artisan vendor:publish --provider="Emotality\Telegram\TelegramLoggerServiceProvider"
  3. 将以下行添加到您的 .env
TELEGRAM_API_KEY="<telegram_api_key>"
TELEGRAM_CHAT_ID="<telegram_chat_id>"
  1. 在您的 config/logging.php 文件中将 telegram 块添加到 channels 数组中
'channels' => [
    ...
    'telegram' => [
        'driver' => 'telegram',
        'level' => 'error',
        'cache_ttl' => env('TELEGRAM_CACHE_TTL', 300),
    ],
],
注意:有关 cache_ttl 键的更多信息,请参阅以下内容。
  1. 更新您的日志栈,并在 config/logging.php 中的 channels 数组中添加 telegram
'stack' => [
    'driver' => 'stack',
    'channels' => ['daily', 'telegram'],
    ...,
],

或更改您 .env 中的 LOG_CHANNEL

LOG_CHANNEL=telegram

缓存 TTL 解释

为每个异常创建一个 MD5 校验和,然后将其缓存您提供的 cache_ttl 秒数。如果缓存中存在该校验和,则不会发送日志。

换句话说,当相同的异常再次发生时,只有第一次发生的异常会被记录。如果 300 秒后它仍然发生,则会再次记录。
每 300 秒只记录相同异常的第一次发生,以避免洪泛 Telegram API 和您的聊天。

cache_ttl 键接受 false 以禁用缓存,这意味着,即使是 1,000 次相同的异常也会被记录到 Telegram。

许可

laravel-telegram-logger 在 MIT 许可下发布。有关详细信息,请参阅 LICENSE