Add logs extra information with symfony/monolog-bundle. Using Gelf and Logstash to send/receive logs via UDP protocol
Make sure symfony/monolog-bundle is installed.
Add env vars:
SERVICE_NAME
: service nameLOGSTASH_HOST
: logstash hostLOGSTASH_PORT
: logstash port
Add to config/service.yaml
:
parameters:
env(SERVICE_NAME): your_service_name
env(LOGSTASH_HOST): 127.0.0.1
env(LOGSTASH_PORT): 12201
service_name: '%env(string:SERVICE_NAME)%'
logstash_host: '%env(string:LOGSTASH_HOST)%'
logstash_port: '%env(string:LOGSTASH_PORT)%'
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
$ composer require playtini/logger-extra-bundle
Then, enable the bundle by adding it to the list of registered bundles
in the config/bundles.php
file of your project:
// config/bundles.php
return [
// ...
Playtini\LoggerExtraBundle\ServiceLoggerExtraBundle::class => ['all' => true],
];
Add custom data in each log entry.
service_logger_extra:
processor:
additions:
key_addition_var_1: value_addition_var_1
key_addition_var_2: value_addition_var_2
By default, the bundle provides several loggers:
- on_command (create a log entry with the cli data)
- on_request (create a log entry with the request/response data)
Add config to include them:
service_logger_extra:
logger:
on_command: true
on_request: true