以人类可读的格式显示容器弃用日志?

Posted

技术标签:

【中文标题】以人类可读的格式显示容器弃用日志?【英文标题】:Show container deprecation log in human-readable format? 【发布时间】:2022-01-12 17:15:27 【问题描述】:

我有一个 Symfony 5.3 应用程序。容器编译完成后,出现如下文件:

var/cache/dev/App_KernelDevDebugContainerDeprecations.log

In 包含弃用消息的序列化列表:

a:13:i:0;a:6:s:4:"type";i:16384;s:7:"message";s:166:"Since symfony/security-guard 5.3: ...

有没有办法以人类可读的格式显示此弃用日志?我找不到执行此操作的 bin/console 命令。

此外,此弃用日志的输出位置/格式是否在某处配置?它似乎没有遵循适用于项目其余部分的独白配置。

【问题讨论】:

@yivi 我已经找到了这个链接,它似乎没有回答我的问题。我设置了独白处理程序,但容器编译期间的文件输出(App_KernelDevDebugContainerDeprecations.log)与配置的独白文件格式%kernel.environment%.deprecations.log不匹配。 那不是日志。这是分析器的输出。它在缓存目录上,而不是在日志目录上。如果您需要弃用日志,请使用链接的 QA 中的说明。如果您已经将 monolog 配置为创建弃用日志但您没有得到,请编辑您的问题以包含您的 monolog 配置。 @yivi 有趣,谢谢。实际上,弃用也反映在 log 目录中配置的日志文件中。 @yivi 你想添加分析器信息作为这个问题的答案吗? 【参考方案1】:

您看到的文件不是弃用日志,而是 Symfony Profiler 将用于在 dev 上显示此信息的序列化输出。

注意位于缓存/构建目录 (var/cache),而不是日志目录 (var/log)。

要配置 Monolog 以记录弃用,请使用您可以找到的说明 here,例如。您会注意到生成的日志最终会出现在您指向的位置,并且结果将是一个大部分可读格式的常规日志文件。

【讨论】:

以上是关于以人类可读的格式显示容器弃用日志?的主要内容,如果未能解决你的问题,请参考以下文章

格式化日期对象以显示人类可读的日期

如何以 json 格式(双引号)漂亮地打印(人类可读的打印)Python dict? [复制]

如何以毫秒为单位获取带有 unix 时间戳的人类可读日期? [复制]

如何将字符串时间戳更改为人类可读的日期格式? [复制]

以人类可读格式转换纪元时间

人类可读的 JSON:又名在 json 转储中添加空格和中断