使用Logger
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 3.0,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
使用Logger
Console组件附带一个独立记录器,该记录器与PSR-3标准。日志消息将根据详细程度设置发送到OutputInterface实例作为参数传递给构造函数。
日志记录器没有任何外部依赖项php-fig /日志
.这对于需要轻量级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
名称空间Acme\控制台\命令;使用Acme\MyDependency;使用ob娱乐下载\组件\控制台\命令\命令;使用ob娱乐下载\组件\控制台\输入\InputInterface;使用ob娱乐下载\组件\控制台\输出\OutputInterface;使用ob娱乐下载\组件\控制台\日志记录器\ConsoleLogger;类MyCommand扩展命令{受保护的函数配置(){$这->setName (“我:命令”)->setDescription (使用需要PSR-3记录器的外部依赖项);}受保护的函数执行(InputInterface$输入, OutputInterface$输出){$日志记录器=新ConsoleLogger ($输出);$myDependency=新MyDependency ($日志记录器);$myDependency->doStuff ();}}
的依赖项将使用实例ConsoleLogger记录器。发出的日志消息将显示在控制台输出中。
冗长
的详细级别决定消息是否被发送到OutputInterface实例。
默认情况下,控制台记录器的行为类似于独白的控制台处理程序.属性的第二个参数可以配置日志级别与详细信息之间的关联ConsoleLogger构造函数:
1 2 3 4 5 6 7 8
使用Psr\日志\LogLevel;/ /……$verbosityLevelMap=数组(LogLevel::注意=> OutputInterface::VERBOSITY_NORMAL, LogLevel::INFO =>输出接口::VERBOSITY_NORMAL);$日志记录器=新ConsoleLogger ($输出,$verbosityLevelMap);
颜色
日志记录器输出的日志消息用反映其级别的颜色进行了格式化。这个行为可以通过构造函数的第三个参数来配置:
1 2 3 4 5 6
/ /……$formatLevelMap=数组(LogLevel::CRITICAL =>控制台日志日志::信息,LogLevel::DEBUG =>控制台日志::错误,);$日志记录器=新ConsoleLogger ($输出,数组(),$formatLevelMap);
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。