gboquizosanchez/google-chat-channel
最新稳定版本:1.1.0
Composer 安装命令:
composer require gboquizosanchez/google-chat-channel
包简介
Laravel package to send logs to Google Chat
README 文档
README
gboquizosanchez/google-chat-channel
Laravel logging channel for Google Chat
Get instant alerts in Google Chat when your Laravel app logs an error. No setup beyond a webhook URL.
Overview
A lightweight Laravel logging channel that sends log entries directly to a Google Chat space via webhooks. Messages are formatted as rich cards with emojis based on log level — so your team can triage errors at a glance without leaving Chat.
✨ Features
- 🚀 Real-time delivery — Log entries sent instantly to your Google Chat space
- 📱 Rich formatting — Cards with emojis and severity based on log level
- ⚙️ Env-based config — No config file to publish, just
.envvariables - 🔧 Context & exceptions — Optionally include extra context and exception details
- 📊 Smart retries — Built-in error handling for webhook failures
- 🔁 Queue support — Optionally queue log dispatch to avoid blocking requests
📦 Installation
composer require gboquizosanchez/google-chat-channel
⚙️ Configuration
Add the channel to your config/logging.php:
'channels' => [ 'google-chat' => [ 'driver' => 'custom', 'via' => \Boquizo\GoogleChatChannel\GoogleChatLogger::class, ], 'stack' => [ 'driver' => 'stack', 'channels' => ['single', 'google-chat'], ], ],
Then set your webhook URL in .env:
GOOGLE_CHAT_WEBHOOK_URL=https://chat.googleapis.com/v1/spaces/XXX/messages?key=YYY&token=ZZZ
To get a webhook URL, open a Google Chat space → Manage webhooks → Add webhook.
Available environment variables
| Variable | Default | Description |
|---|---|---|
GOOGLE_CHAT_WEBHOOK_URL |
— | Required. Google Chat incoming webhook URL |
GOOGLE_CHAT_LOG_LEVEL |
error |
Minimum log level to forward (debug, info, warning, error, ...) |
GOOGLE_CHAT_IGNORE_CONTEXTS |
true |
Exclude context data from the message |
GOOGLE_CHAT_IGNORE_EXCEPTIONS |
true |
Exclude exception details from the message |
GOOGLE_CHAT_QUEUED |
false |
Queue log dispatch instead of sending synchronously |
🚀 Usage
Once configured, use Laravel's standard logging — no changes needed in your code:
// Sent to Google Chat (at or above your configured level) Log::error('Payment failed', ['order_id' => 1234]); Log::critical('Database connection lost'); // Not sent if GOOGLE_CHAT_LOG_LEVEL=error Log::info('User logged in');
Each message arrives in Chat as a formatted card showing the level, message, and optionally context or exception details.
Contributing
Contributions are welcome!
- 🐛 Report bugs via GitHub Issues
- 💡 Suggest features or improvements
- 🔧 Submit pull requests with fixes or enhancements
Credits
- Author: Germán Boquizo Sánchez
- Contributors: View all contributors
📄 License
This package is open-source software licensed under the MIT License.
统计信息
- 总下载量: 167
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-09-04