如何配置独白显示控制台消息
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 5.2,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
如何配置独白显示控制台消息
可以使用控制台打印特定的消息冗长的水平使用OutputInterface运行命令时传递的实例。
当必须进行大量日志记录时,根据详细设置打印信息是很麻烦的(- v
,vv
,-vvv
),因为调用需要封装在条件中。例如:
12 3 4 5 6 7 8 9 10 11 12 13
使用ob娱乐下载\组件\控制台\输入\InputInterface;使用ob娱乐下载\组件\控制台\输出\OutputInterface;受保护的函数执行(InputInterface$输入, OutputInterface$输出){如果($输出->isDebug ()) {$输出->writeln (的一些信息);}如果($输出->isVerbose ()) {$输出->writeln (“更多信息”);}}
不是使用这些语义方法来测试每个冗长级别,而是使用MonologBridge提供了一个ConsoleHandler它侦听控制台事件,并根据当前日志级别和控制台详细程度将日志消息写入控制台输出。
上面的例子可以重写为:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
/ / src /命令/ YourCommand.php名称空间应用程序\命令;使用Psr\日志\LoggerInterface;使用ob娱乐下载\组件\控制台\命令\命令;使用ob娱乐下载\组件\控制台\输入\InputInterface;使用ob娱乐下载\组件\控制台\输出\OutputInterface;类YourCommand扩展命令{私人$日志记录器;公共函数__construct(LoggerInterface$日志记录器){$这->记录器=$日志记录器;}受保护的函数执行(InputInterface$输入, OutputInterface$输出){$这->日志记录器->调试(的一些信息);$这->日志记录器->通知(“更多信息”);}}
根据运行命令的详细级别和用户的配置(参见下面),这些消息可能会显示到控制台,也可能不会。如果显示了它们,则会对它们进行时间戳并适当地着色。此外,错误日志被写入错误输出(php: / / stderr
).不再需要有条件地处理冗长设置。
LoggerInterface | 冗长 | 命令行 |
---|---|---|
- >错误() | OutputInterface: VERBOSITY_QUIET | stderr |
- >警告() | OutputInterface: VERBOSITY_NORMAL | stdout |
- >通知() | OutputInterface: VERBOSITY_VERBOSE | - v |
- >信息() | OutputInterface: VERBOSITY_VERY_VERBOSE | vv |
- >调试() | OutputInterface: VERBOSITY_DEBUG | -vvv |
独白控制台处理程序默认是启用的:
- YAML
- XML
- PHP
12 3 4 5 6 7 8 9 10 11 12
#配置/包/ dev / monolog.yaml独白:处理程序:#……控制台:类型:控制台process_psr_3_messages:假渠道:[' !事件”,”!学说”,”!控制台”]#可选地配置详细级别和日志级别之间的映射# verbosity_levels:# verbosity_normal:注意
现在,将根据日志级别和详细程度在控制台中显示日志消息。默认情况下(正常详细级别),将显示警告或更高级别。但在完整的冗长模式,会显示所有讯息。
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。