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

将日志发送到 Telegram。 Laravel 模块

Linda Hamilton
发布: 2025-01-10 22:04:43
原创
906 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板