public function testCollect() { $c = new MessagesCollector(); $c->addMessage('foo'); $data = $c->collect(); $this->assertEquals(1, $data['count']); $this->assertEquals($c->getMessages(), $data['messages']); }
/** * @param string $message * @param string $type */ public static function log($message, $type = 'debug') { if (self::$messageCollector instanceof MessagesCollector) { self::$messageCollector->addMessage($message, $type); } else { throw new Exception('Unknown type of MessageCollector'); } }
/** * @throws \DebugBar\DebugBarException */ public function boot() { $debugbar = $this->app['debugbar']; if ($debugbar instanceof LaravelDebugbar && $debugbar->isEnabled()) { /** * CodeCollector获取代码提交和版本信息 */ $codeCollector = new MessagesCollector('code'); $codeCollector->addMessage('enviroment:' . $this->app->environment()); //package "sebastian/version": "1.*" required if (class_exists(Version::class)) { $version = static::appVersion($this->app['config']->get('app.version')); $codeCollector->addMessage('base path:' . base_path()); $codeCollector->addMessage("version:\n" . $version); } if (class_exists(Repository::class)) { $repository = new \Gitonomy\Git\Repository(base_path()); $head = $repository->getHeadCommit(); $log = $head->getLog(null, null, 5); $commits = array(); foreach ($log->getCommits() as $commit) { $commits[] = $this->commitMessageArray($commit); } $codeCollector->addMessage("current commit:\n" . $head->getRevision(), 'HEAD'); $codeCollector->addMessage($commits, 'git-log'); } $debugbar->addCollector($codeCollector); /** * ServerCollector获取服务器信息 */ $serverCollector = new MessagesCollector('sever'); $serverCollector->addMessage(php_uname(), 'uname'); $serverCollector->addMessage("sapi_name:" . php_sapi_name(), 'phpinfo'); $serverCollector->addMessage("PHP version:" . PHP_VERSION, 'phpinfo'); $serverCollector->addMessage("Zend_Version:" . zend_version(), 'phpinfo'); $serverCollector->addMessage(sys_getloadavg(), 'load'); $debugbar->addCollector($serverCollector); } }
/** * @param array $event */ protected function doWrite(array $event) { $priority = $this->priorityMap($event['priorityName']); $this->messagesCollector->addMessage($event['message'], $priority); }