Symfony记录问题

时间:2018-02-02 09:46:24

标签: php symfony symfony-2.3 monolog

我正在使用Symfony "symfony/symfony": "2.6.*",。和Mono日志来跟踪所有日志。

只有在app.php中启用true时,日志才会写入

$kernel = new AppKernel('prod',true);

我的问题是如果我启用为true,那么用户可以看到错误异常。任何人都可以帮助我在App内核中启用false时如何实现写日志。

价: Symfony doesn't create logs in production environment

已更新 Config_prod

monolog:
    handlers:
        main:
            type: fingers_crossed
            action_level: error
            handler: nested
        nested:
            type: stream
            path: "php://stderr"
            level: debug

2 个答案:

答案 0 :(得分:3)

您应该new AppKernel('prod', false);

您正在查找错误的文件夹。 您的配置是在一般的php错误日志中写入日志

    path: "php://stderr"

将您的config_prod.yml更改为:

monolog:
    handlers:
        # [...]
        nested:
            type: stream
            path: %kernel.logs_dir%/%kernel.environment%.log
            level: debug

不要忘记使用--env=prod

清除缓存

答案 1 :(得分:0)

请查看此代码段,

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
        process_psr_3_messages: false