如何配置独白显示控制台消息

编辑本页

警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 2.8,现已不再维护。

本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。

如何配置独白显示控制台消息

可以使用控制台打印特定的消息冗长的水平使用OutputInterface实例,该实例在执行命令时传递。

另请参阅

或者,您可以使用独立PSR-3记录器由控制台组件提供。

当必须进行大量日志记录时,根据详细设置打印信息是很麻烦的(- vvv-vvv),因为调用需要封装在条件中。例如:

12 3 4 5 6 7 8 9 10 11 12 13
使用欧宝娱乐app下载地址组件控制台输入InputInterface使用欧宝娱乐app下载地址组件控制台输出OutputInterface受保护的函数执行(InputInterface输入, OutputInterface输出如果输出->isDebug ()) {输出->writeln (的一些信息);}如果输出->isVerbose ()) {输出->writeln (“更多信息”);}}

不是使用这些语义方法来测试每个冗长级别,而是使用MonologBridge提供了一个ConsoleHandler它侦听控制台事件,并根据当前日志级别和控制台详细程度将日志消息写入控制台输出。

上面的例子可以重写为:

1 2 3 4 5 6 7 8 9 10 11
使用欧宝娱乐app下载地址组件控制台输入InputInterface使用欧宝娱乐app下载地址组件控制台输出OutputInterface受保护的函数执行(InputInterface输入, OutputInterface输出//假设命令扩展了ContainerAwareCommand…日志记录器->getContainer ()->get (“日志”);日志记录器->调试(的一些信息);日志记录器->通知(“更多信息”);}

根据运行命令的详细级别和用户的配置(参见下面),这些消息可能会显示到控制台,也可能不会。如果显示了它们,则会对它们进行时间戳并适当地着色。此外,错误日志被写入错误输出(php: / / stderr).不再需要有条件地处理冗长设置。

在独白配置中启用了独白控制台处理程序。这也是Symfony标准版2.4中的默认值。欧宝娱乐app下载地址

  • YAML
  • XML
  • PHP
1 2 3 4 5
# app / config / config.yml独白:处理程序:控制台:类型:控制台

verbosity_levels选项,您可以调整详细信息和日志级别之间的映射。在给定的示例中,它还将以普通的详细模式显示通知(而不仅仅是警告)。此外,它将只使用使用自定义记录的消息my_channel通道,并通过自定义格式化程序更改显示样式(请参阅MonologBundle参考欲知更多资料):

  • YAML
  • XML
  • PHP
1 2 3 4 5 6 7 8 9
# app / config / config.yml独白:处理程序:控制台:类型:控制台verbosity_levels:VERBOSITY_NORMAL:请注意渠道:my_channel格式化程序:my_formatter
  • YAML
  • XML
  • PHP
1 2 3 4 5 6
# app / config / services.yml服务:my_formatter:类:欧宝娱乐app下载地址Symfony \桥\独白\格式化程序\ ConsoleFormatter参数:-“% % datetime % % % % start_tag设置消息end_tag % % % % % % % % % % % % % % level_name % %额外上下文% % % % % % \ n”
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。