настройка монолога в symfony и настройка - PullRequest
0 голосов
/ 05 июня 2018

Я работаю над веб-приложением, созданным с использованием 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 Ответ

0 голосов
/ 05 июня 2018

Вы знаете, какой из них используется в вашей среде.Если вы находитесь в режиме разработки, вы используете 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');
...