如何通过单log从yml配置文件%region%记录参数


How to log parameter from yml config file %region% via monolog

我尝试使用格式化程序:

services:
monolog.formatter.tits:
    class: Monolog'Formatter'LineFormatter
    arguments:
        - "[%%datetime%%] [%extra.region%] %%channel%%.%%level_name%%: %%message%% %%context%% %%extra%%'n" "%region%"

但我失败了,得到了这个:

[2016-02-23 09:56:54][%region%] event.DEBUG: Notified event "kernel.terminate" to listener "Symfony'Component'HttpKernel'EventListener'ProfilerListener::onKernelTerminate". [] []

有 [%region%] 代替我的区域参数来自 YML 配置文件。

如何运行?

终于找到了答案。

services:
monolog.formatter.q3dm6:
    class: Monolog'Formatter'LineFormatter
    arguments:
        - "[%%datetime%%] [region:%region%] %%channel%%.%%level_name%%: %%message%% %%context%% %%extra%%'n"

如果你想从 yml 配置文件中提取它,你只需要一个 %。现在我得到了正确的日志:

[2016-02-23 10:50:38] [region:pl] request.CRITICAL: Uncaught PHP Exception Twig_Error_Syntax...
您需要在

extra.region 参数周围将"%"加倍才能使其工作:

services:
monolog.formatter.tits:
class: Monolog'Formatter'LineFormatter
arguments:
    - "[%%datetime%%] [%%extra.region%%] %%channel%%.%%level_name%%: %%message%% %%context%% %%extra%%'n" "%%region%%"