首页 >后端开发 >php教程 >将日志发送到 Telegram。 Laravel 模块

将日志发送到 Telegram。 Laravel 模块

Linda Hamilton
Linda Hamilton原创
2025-01-10 22:04:43908浏览

Sending logs to Telegram. Module for Laravel

这个 Laravel 模块简化了向 Telegram 发送日志和错误消息。 它非常适合需要简单日志记录解决方案的小型项目。 虽然存在更高级的选项,但该模块优先考虑易于设置和配置。

GitHub 存储库

模块设置

  1. 创建一个 Telegram 机器人: 生成一个机器人并获取其令牌。

  2. 创建一个 Telegram 群组: 创建一个群组,启用“主题”,并将您的机器人添加为管理员。

  3. 配置.env将机器人的令牌和组ID添加到您的.env文件:

<code>TG_LOGGER_TOKEN="your_bot_token"
TG_LOGGER_CHAT_ID="your_group_id"</code>
  1. 通过 Composer 安装:
<code class="language-bash">composer require prog-time/tg-logger</code>
  1. 发布配置:创建或发布配置文件:
<code class="language-bash">php artisan vendor:publish --tag=config</code>
  1. 配置config/tg-logger.php使用您的设置填充配置文件:
<code class="language-php">return [
    'token' => env('TG_LOGGER_TOKEN'),
    'chat_id' => env('TG_LOGGER_CHAT_ID'),
    'topics' => [
        [
            'name' => 'Debug messages',
            'icon_color' => '9367192',
            'level' => 'debug',
        ],
        [
            'name' => 'Cron tasks',
            'icon_color' => '9367192',
            'level' => 'crone',
        ],
        [
            'name' => 'Errors',
            'icon_color' => '9367192',
            'level' => 'error, notice, warning, emergency',
        ]
    ]
];</code>

tg-logger.php 文件使用以下参数:

  • token:您的 Telegram 机器人令牌。
  • chat_id:您的 Telegram 群组 ID。
  • topics:定义日志主题名称、图标颜色和关联日志级别的数组。
  1. 创建 Telegram 主题: 运行此 artisan 命令在您的 Telegram 群组中创建主题:
<code class="language-bash">php artisan tglogger:create-topics</code>

这将覆盖 tg-logger.php 并添加主题 ID。

使用 TgLogger 模块

A.处理系统错误:

修改您的 config/logging.php 文件以使用模块的处理程序:

<code class="language-php">'channels' => [
    ...
    'telegram' => [
        'driver' => 'monolog',
        'handler' => ProgTime\TgLogger\TgHandler::class,
        'formatter' => ProgTime\TgLogger\TgFormatter::class,
        'level' => 'debug',
    ],
    ...
],</code>

然后,在您的 LOG_CHANNEL=telegram 文件中设置 .env

B.直接发送消息:

使用TgLogger类直接发送消息:

<code class="language-php">TgLogger::sendLog('Your message', 'level');</code>

欢迎您在 GitHub 上提供反馈和贡献!

以上是将日志发送到 Telegram。 Laravel 模块的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn