Example #1
0
 * use_session = false
 *
 */
use PageCache\PageCache;
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
//Setup PageCache
$cache = new PageCache();
$cache->setPath(__DIR__ . '/cache/');
//Enable logging
$cache->enableLog();
//Monolog setup. More info on https://github.com/Seldaek/monolog
$logger = new Logger('PageCache');
$logger->pushHandler(new StreamHandler(__DIR__ . '/log/monolog.log', Logger::DEBUG));
//pass Monolog to PageCache
$cache->setLogger($logger);
//Initiate cache engine
$cache->init();
?>
<html>
<body>
<h1>PageCache logging with monolog example</h1>
<h3 style="color: red">This is a demo PageCache page that is going to be cached. Monolog log entries are saved.</h3>
<h3>Check out examples/log/monolog.log file for Monolog entries.</h3>
<h3>Default cache expiration time for this page is 20 minutes. You can change this value in your <i>conf.php</i>
    and passing its file path to PageCache constructor, or by calling <i>setExpiration()</i> method.
    <span style="color: green;">Refresh browser to see changes.</span></h3>
<h3>This is a dynamic PHP <i>date('H:i:s')</i>
    call, note that time doesn't change on refresh: <?php 
echo date('H:i:s');
?>
Example #2
0
 public function testLogWithMonolog()
 {
     $pc = new PageCache();
     $pc->enableLog();
     $pc->setLogFilePath(vfsStream::url('tmpdir') . '/log.txt');
     //internal logger, should be ignored
     $logger = new Logger('PageCache');
     $logger->pushHandler(new StreamHandler(vfsStream::url('tmpdir') . '/monolog.log', Logger::DEBUG));
     $pc->setLogger($logger);
     $pc->init();
     ob_end_flush();
     $this->assertContains('PageCache\\PageCache::init', file_get_contents(vfsStream::url('tmpdir') . '/monolog.log'));
     $this->assertFalse(file_exists(vfsStream::url('tmpdir') . '/log.txt'));
 }