gan068 / laravel-rabbit-mq-logger
produce log to RabbitMQ queue
1.0.1
2024-10-05 05:31 UTC
Requires
- php: >=8.1
- laravel/framework: >=11.0
- php-amqplib/php-amqplib: ^3.7
This package is auto-updated.
Last update: 2025-06-09 04:36:30 UTC
README
Requirements
- Laravel 10.x~
install
composer require gan068/laravel-rabbit-mq-logger "~1.0"
publish vendor
php artisan vendor:publish --provider="gan068\Logging\RabbitMQLogServiceProvider"
log settings
modify config/logging.php
add
'channels' => [ ... # for demo 'rabbit_mq_demo' => [ 'driver' => 'custom', 'via' => \gan068\Logging\RabbitMQLogger::class, 'with' => 'demo', ], # for real usage 'rabbit_mq' => [ 'driver' => 'custom', 'via' => \gan068\Logging\RabbitMQLogger::class, 'with' => 'rabbit_mq', ], ... ]
edit .env
#sample
LOG_CHANNEL=stack
LOG_STACK=rabbit_mq
RABBIT_MQ_LOG_NAME=laravel-rabbit-mq-logger
RABBIT_MQ_LOG_LEVEL=debug
RABBIT_MQ_LOG_HOST=127.0.0.1
RABBIT_MQ_LOG_PORT=5672
RABBIT_MQ_LOG_USERNAME=laravel
RABBIT_MQ_LOG_PASSWORD=12345678
RABBIT_MQ_LOG_EXCHANGE=laravel_logs
RABBIT_MQ_LOG_ROUTING_KEY=laravel_log
RABBIT_MQ_LOG_QUEUE=laravel_log_queue
RABBIT_MQ_LOG_BUBBLE=true
add more Kafka topic
modify config/logging.php
add
'channels' => [ ... 'new-rabbit-mq-connection' => [ 'driver' => 'custom', 'via' => \gan068\RabbitMQLogger\KafkaLogger::class, 'with' => config('rabbit_mq_logger.new_rabbit_mq'), ], ... ]
modify config/rabbit_mq_logger.php
add
'new_rabbit_mq' => [ 'name' => env('NEW_RABBIT_MQ_LOG_NAME', 'rabbit_mq'), 'level' => env('NEW_RABBIT_MQ_LOG_LEVEL', 'error'), 'host' => env('NEW_RABBIT_MQ_LOG_HOST', 'localhost'), 'port' => env('NEW_RABBIT_MQ_LOG_PORT', '5672'), 'username' => env('NEW_RABBIT_MQ_LOG_USERNAME'), 'password' => env('NEW_RABBIT_MQ_LOG_PASSWORD'), 'exchange' => env('NEW_RABBIT_MQ_LOG_EXCHANGE', 'laravel_logs'), 'routing_key' => env('NEW_RABBIT_MQ_LOG_ROUTING_KEY', 'laravel_log'), 'queue' => env('NEW_RABBIT_MQ_LOG_QUEUE', 'laravel_log_queue'), 'bubble' => env('NEW_RABBIT_MQ_LOG_BUBBLE', true), 'include_stack_traces' => env('APP_DEBUG', false) ]
modify .env.example
add
NEW_RABBIT_MQ_LOG_NAME=laravel-NEW_rabbit-mq-logger
NEW_RABBIT_MQ_LOG_LEVEL=debug
NEW_RABBIT_MQ_LOG_HOST=127.0.0.1
NEW_RABBIT_MQ_LOG_PORT=5672
NEW_RABBIT_MQ_LOG_USERNAME=laravel
NEW_RABBIT_MQ_LOG_PASSWORD=12345678
NEW_RABBIT_MQ_LOG_EXCHANGE=laravel_logs
NEW_RABBIT_MQ_LOG_ROUTING_KEY=laravel_log
NEW_RABBIT_MQ_LOG_QUEUE=laravel_log_queue
NEW_RABBIT_MQ_LOG_BUBBLE=true
usage
Log::connection('new_rabbit_mq') ->info('test info', ['test' => 'context']);