使用Logger

编辑本页

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

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

使用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
名称空间Acme控制台命令使用AcmeMyDependency使用欧宝娱乐app下载地址组件控制台命令命令使用欧宝娱乐app下载地址组件控制台输入InputInterface使用欧宝娱乐app下载地址组件控制台输出OutputInterface使用欧宝娱乐app下载地址组件控制台日志记录器ConsoleLoggerMyCommand扩展命令受保护的函数配置()->setName (“我:命令”->setDescription (使用需要PSR-3记录器的外部依赖项);}受保护的函数执行(InputInterface输入, OutputInterface输出日志记录器ConsoleLogger (输出);myDependencyMyDependency (日志记录器);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许可证。