Symfony 日志问题

Symfony logs issue

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

只有在 app.php

中启用 true 时才会写入日志
$kernel = new AppKernel('prod',true);

我的问题是如果我启用为 true 那么用户会看到错误 exception.Can 谁能帮我在应用程序内核中启用为 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

你应该让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

清除缓存

请查看此代码段,

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