将LogLevel设置为DEBUG而不设置APP_ENV进行调试

Jür*_*ann 5 shopware shopware6

我需要在解决迁移中的问题时获得详细的日志记录。如果我像Shopware 6 教程APP_ENV中描述的那样设置调试,我会一直遇到内存问题,因为 Symfony 框架也会启用调试模式并导致巨大的内存消耗。这是运行迁移工具时的一个已知问题。

如何将记录器设置为更详细的日志记录级别,而不将整个堆栈设置为调试模式?

dne*_*adt 3

您可以尝试获取 monolog 配置dev并将其应用到prod. 通过使用以下内容创建来覆盖配置{SHOPWARE_ROOT}/config/packages/prod/monolog.yaml

# copied from src/Core/Framework/Resources/config/packages/dev/monolog.yaml
monolog:
    handlers:
        main:
            type: stream
            path: "%kernel.logs_dir%/%kernel.environment%.log"
            level: debug
            channels: ["!event","!doctrine"]
        console:
            type:   console
            process_psr_3_messages: false
            channels: ["!event", "!doctrine", "!console"]
Run Code Online (Sandbox Code Playgroud)

但是,这可能不足以满足您的需求,因为某些服务可能仍用于%kernel.debug%确定何时记录。

  • 原始的 monolog.yaml 位于 /vendor/shopware/core/Framework/Resources/config/packages/dev/monolog.yaml。也许您可以将其添加到您的代码片段中以进行澄清。 (2认同)