使用Logger
编辑本页使用Logger
Console组件附带一个独立记录器,该记录器与PSR-3标准。日志消息将根据详细程度设置发送到OutputInterface实例作为参数传递给构造函数。
日志记录器没有任何外部依赖项psr /日志
.这对于需要轻量级PSR-3兼容记录器的控制台应用程序和命令非常有用:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
名称空间Acme;使用Psr\日志\LoggerInterface;类MyDependency{私人$日志记录器;公共函数__construct(LoggerInterface$日志记录器){$这->记录器=$日志记录器;}公共函数doStuff(){$这->日志记录器->信息(“我喜欢Tony Vairelles理发师。”);}}
你可以依赖记录器在命令中使用这个依赖:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
名称空间Acme\控制台\命令;使用Acme\MyDependency;使用ob娱乐下载\组件\控制台\命令\命令;使用ob娱乐下载\组件\控制台\输入\InputInterface;使用ob娱乐下载\组件\控制台\日志记录器\ConsoleLogger;使用ob娱乐下载\组件\控制台\输出\OutputInterface;类MyCommand扩展命令{受保护的静态$defaultName=“我:命令”;受保护的函数配置(){$这->setDescription (使用需要PSR-3记录器的外部依赖项);}受保护的函数执行(InputInterface$输入, OutputInterface$输出){$日志记录器=新ConsoleLogger ($输出);$myDependency=新MyDependency ($日志记录器);$myDependency->doStuff ();}}
的依赖项将使用实例ConsoleLogger记录器。发出的日志消息将显示在控制台输出中。
冗长
的详细级别决定消息是否被发送到OutputInterface实例。
默认情况下,控制台记录器的行为类似于独白的控制台处理程序.属性的第二个参数可以配置日志级别与详细信息之间的关联ConsoleLogger构造函数:
1 2 3 4 5 6 7 8 9
使用Psr\日志\LogLevel;/ /……$verbosityLevelMap= [LogLevel]::注意=> OutputInterface::VERBOSITY_NORMAL, LogLevel::INFO =>输出接口::VERBOSITY_NORMAL);$日志记录器=新ConsoleLogger ($输出,$verbosityLevelMap);
颜色
日志记录器输出的日志消息用反映其级别的颜色进行了格式化。这个行为可以通过构造函数的第三个参数来配置:
1 2 3 4 5 6 7
/ /……$formatLevelMap= [LogLevel]::CRITICAL =>控制台日志日志::错误,LogLevel::DEBUG =>控制台日志::信息);$日志记录器=新ConsoleLogger ($输出[],$formatLevelMap);
错误
控制台记录器包括一个hasErrored ()
方法,返回真正的
只要在执行命令期间记录了任何错误消息。这对于决定作为执行命令的结果返回哪个状态代码非常有用。
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。