Конфигурация монолога в symfony и настройка

Я работаю над веб-приложением, созданным с использованием Symfony 2.6, и в нем есть разные конфигурации app/config папка. Как я знаю, какой из них используется. внутри app/config я вижу config.ymlconfig_dev.ymlconfig_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');
Другие вопросы по тегам