使用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日志LoggerInterfaceMyDependency私人日志记录器公共函数__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控制台命令使用AcmeMyDependency使用ob娱乐下载组件控制台命令命令使用ob娱乐下载组件控制台输入InputInterface使用ob娱乐下载组件控制台日志记录器ConsoleLogger使用ob娱乐下载组件控制台输出OutputInterfaceMyCommand扩展命令受保护的静态defaultName“我:命令”受保护的函数配置()->setDescription (使用需要PSR-3记录器的外部依赖项);}受保护的函数执行(InputInterface输入, OutputInterface输出日志记录器ConsoleLogger (输出);myDependencyMyDependency (日志记录器);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许可证。