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-2010 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.         global $gJConfig$gJCoord;
  20.         if (!is_writable(jApp::logPath()))
  21.             return;
  22.  
  23.         $type $message->getCategory();
  24.         if ($gJCoord && $gJCoord->request {
  25.             $conf $gJConfig->fileLogger;
  26.             if (!isset($conf[$type]))
  27.                 return;
  28.             $f $conf[$type];
  29.             $ip $gJCoord->request->getIP();
  30.  
  31.             $f str_replace('%ip%'$ip $f);
  32.             $f str_replace('%m%'date("m")$f);
  33.             $f str_replace('%Y%'date("Y")$f);
  34.             $f str_replace('%d%'date("d")$f);
  35.             $f str_replace('%H%'date("H")$f);
  36.         }
  37.         else {
  38.             // if there isn't a request, so jLog is called for an error during the construction
  39.             // of the coordinator
  40.             $f 'errors.log';
  41.             $ip = isset($_SERVER['REMOTE_ADDR']$_SERVER['REMOTE_ADDR''127.0.0.1';
  42.         }
  43.  
  44.         try {
  45.             $sel new jSelectorLog($f);
  46.             $file $sel->getPath();
  47.             @error_log(date ("Y-m-d H:i:s")."\t".$ip."\t$type\t".$message->getFormatedMessage()."\n"3$file);
  48.         }
  49.         catch(Exception $e{
  50.             $file jApp::logPath('errors.log');
  51.             @error_log(date ("Y-m-d H:i:s")."\t".$ip."\terror\t".$e->getMessage()."\n"3$file);
  52.         }
  53.     }
  54.  
  55.     function output($response{}
  56.  
  57. }

Documentation generated on Wed, 24 Sep 2014 21:58:47 +0200 by phpDocumentor 1.4.3