* $debugbar->addCollector(new CacheCacheCollector(CacheManager::get('default'))); * // or * $debugbar->addCollector(new CacheCacheCollector()); * $debugbar['cache']->addCache(CacheManager::get('default')); * */ class CacheCacheCollector extends MonologCollector { protected $logger; public function __construct(Cache $cache = null, Logger $logger = null, $level = Logger::DEBUG, $bubble = true) { parent::__construct(null, $level, $bubble); if ($logger === null) { $logger = new Logger('Cache'); } $this->logger = $logger; if ($cache !== null) { $this->addCache($cache); } } public function addCache(Cache $cache) { $backend = $cache->getBackend(); if (!($backend instanceof LoggingBackend)) { $backend = new LoggingBackend($backend, $this->logger); } $cache->setBackend($backend); $this->addLogger($backend->getLogger()); } public function getName() { return 'cache'; } }