我刚刚切换到单声道,并希望将我的消息记录到
PHP控制台而不是文件.对于某些人来说,这似乎是显而易见的,但是我花了一点时间来弄清楚如何做到这一点,而且我在SO上找不到类似的问题/答案.
Monolog’s Github readme上的示例仅显示如何使用文件:
<?PHP use Monolog\Logger; use Monolog\Handler\StreamHandler; // create a log channel $log = new Logger('name'); $log->pushHandler(new StreamHandler('path/to/your.log',Logger::WARNING)); // <<< uses a file // add records to the log $log->addWarning('Foo'); $log->addError('Bar');
但是,它不会在消息可以记录到控制台的任何地方.在谷歌搜索后,我登陆了交响乐的帮助页面或者寻求登录浏览器控制台的人的问题.
解决方案很简单.由于该示例显示了StreamHandler,因此可以传入流(而不是文件的路径).默认情况下,PHP中回显的所有内容都写入
php://stdout / php://output,所以我们可以简单地将其中一个作为StreamHandler的流使用:
<?PHP use Monolog\Logger; use Monolog\Handler\StreamHandler; // create a log channel $log = new Logger('name'); $log->pushHandler(new StreamHandler('PHP://stdout',Logger::WARNING)); // <<< uses a stream // add records to the log $log->addWarning('Foo'); $log->addError('Bar');
希望这可以节省一些时间:)