Exemplo n.º 1
0
Arquivo: Cache.php Projeto: enozoom/es
 /**
  * 保存缓存
  * 如果页面内容小于1KB,则不被缓存即使满足缓存条件
  * @param string $html
  * @param int $len 文件最小存储限制
  */
 public function save($html, $len = 1024)
 {
     if ($this->is_allow_cache() && mb_strlen($html, 'UTF-8') > $len) {
         $file = $this->cache_file_path();
         $html = FileStatic::cleanHtmlblank($html);
         $es = PHP_EOL . "<!--[[" . ES_POWER . ' ' . ES_AUTHOR . ' ' . TimeStatic::formatTime() . ' ' . $this->cache_file_rule() . time() . "]]-->";
         // 该值用以判断是否过期
         file_put_contents($file, $html . $es);
     }
 }
Exemplo n.º 2
0
 /**
  * 产生一条日志
  * 占位符使用'{}'
  * {@inheritDoc}
  * @see \es\libraries\Psr\Log\LoggerInterface::log()
  */
 public function log($level, $message, array $context = [])
 {
     $file = $this->filePath($level);
     $msg = '';
     switch ($level) {
         case LogLevel::DEBUG:
             // 调试可以打印对象
             ob_start();
             var_dump($message);
             $message = ob_get_contents();
             ob_end_clean();
         case LogLevel::ERROR:
             // 堆栈情况
             $debugs = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
             $trace = '';
             foreach ($debugs as $i => $t) {
                 if ($i > 1 && $i < count($debugs) - 4) {
                     empty($t['file']) && ($t['file'] = '控制器' . $t['class']);
                     $_line = '**';
                     for ($j = 0; $j < $i; $j++) {
                         $_line .= '>';
                     }
                     $trace .= $_line . $t['file'] . ',' . (empty($t['line']) ? '' : $t['line'] . '行,') . '方法' . $t['function'] . PHP_EOL;
                 }
             }
             $message = '【' . TimeStatic::formatTime() . '】' . PHP_EOL . $message . PHP_EOL . $trace . PHP_EOL . PHP_EOL;
             break;
         case LogLevel::ALERT:
             // 报警
             $message = '【' . TimeStatic::formatTime() . '】' . PHP_EOL . $message . PHP_EOL . PHP_EOL;
         default:
             $message = $this->interpolate($message, $context);
             break;
     }
     FileStatic::write($message, $file);
 }