Source for file jFileLogger.class.php

Documentation is available at jFileLogger.class.php

  1. <?php
  2. /**
  3. @package    jelix
  4. @subpackage core
  5. @author     Laurent Jouanneau
  6. @copyright  2006-2012 Laurent Jouanneau
  7. @link       http://www.jelix.org
  8. @licence    GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html
  9. */
  10.  
  11. /**
  12.  * logger storing message into a file
  13.  */
  14. class jFileLogger implements jILogger {
  15.     /**
  16.      * @param jILogMessage $message the message to log
  17.      */
  18.     function logMessage($message{
  19.  
  20.         if (!is_writable(jApp::logPath()))
  21.             return;
  22.  
  23.         $type $message->getCategory();
  24.         $appConf jApp::config();
  25.         
  26.         if ($appConf{
  27.             $conf jApp::config()->fileLogger;
  28.             if (!isset($conf[$type]))
  29.                 return;
  30.             $f $conf[$type];
  31.             $f str_replace('%m%'date("m")$f);
  32.             $f str_replace('%Y%'date("Y")$f);
  33.             $f str_replace('%d%'date("d")$f);
  34.             $f str_replace('%H%'date("H")$f);
  35.         }
  36.         else {
  37.             $f 'errors.log';
  38.         }
  39.  
  40.         $coord jApp::coord();
  41.         if ($coord && $coord->request {
  42.             $ip $coord->request->getIP();
  43.         }
  44.         else {
  45.             $ip = isset($_SERVER['REMOTE_ADDR']$_SERVER['REMOTE_ADDR''127.0.0.1';
  46.         }
  47.         $f str_replace('%ip%'$ip $f);
  48.  
  49.         try {
  50.             $sel new jSelectorLog($f);
  51.             $file $sel->getPath();
  52.             @error_log(date ("Y-m-d H:i:s")."\t".$ip."\t$type\t".$message->getFormatedMessage()."\n"3$file);
  53.         }
  54.         catch(Exception $e{
  55.             $file jApp::logPath('errors.log');
  56.             @error_log(date ("Y-m-d H:i:s")."\t".$ip."\terror\t".$e->getMessage()."\n"3$file);
  57.         }
  58.     }
  59.  
  60.     function output($response{}
  61.  
  62. }

Documentation generated on Wed, 04 Jan 2017 22:54:08 +0100 by phpDocumentor 1.4.3