Конфигурация монолога в symfony и настройка
Я работаю над веб-приложением, созданным с использованием Symfony 2.6, и в нем есть разные конфигурации app/config
папка. Как я знаю, какой из них используется. внутри app/config
я вижу config.yml
config_dev.yml
config_prod.yml
и monolog
запись, которую я вижу в config_dev.yml
а также в monolog_prod.yml
, Это как ниже.
monolog:
handlers:
main:
type: fingers_crossed
action_level: error
handler: nested
nested:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
console:
type: console
Теперь я хочу использовать монолог для ввода некоторых журналов в контроллер и отделить эти журналы от других журналов. Как это может быть сделано?.
1 ответ
Вы знаете, какой из них используется в вашей среде. Если вы находитесь в режиме разработки вы используете config_dev.yml
объединены с config.yml
Вы можете проверить это на своем виртуальном хосте, если файл включен app.php
ты в prod
режим, если файл указывает на app_dev.php
ты в dev
режим обычно
Для входа в другие файлы вы можете создать такой канал:
monolog:
handlers:
main:
type: fingers_crossed
action_level: error
handler: nested
your_handler:
level: debug
type: stream
path: '%kernel.logs_dir%/custom.log'
channels: ['your_channel']
nested:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
console:
type: console
И в свой контроллер вы можете назвать это так:
$logger = $this->get('monolog.logger.your_handler');
$logger->debug('your custom message into your custom log file');