Source for file jLog.class.php

Documentation is available at jLog.class.php

  1. <?php
  2. /**
  3. @package    jelix
  4. @subpackage utils
  5. @author     Laurent Jouanneau
  6. @contributor F. Fernandez, Hadrien Lanneau
  7. @copyright  2006-2010 Laurent Jouanneau, 2007 F. Fernandez, 2011 Hadrien Lanneau
  8. @link       http://www.jelix.org
  9. @licence    GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html
  10. */
  11.  
  12. /**
  13.  * utility class to log some message into a file into yourapp/var/log
  14.  * @package    jelix
  15.  * @subpackage utils
  16.  * @static
  17.  */
  18. class jLog {
  19.  
  20.     private function __construct(){}
  21.  
  22.     /**
  23.     * log a dump of a php value (object or else)
  24.     * @param mixed $obj the value to dump
  25.     * @param string $label a label
  26.     * @param string $type the log type
  27.     */
  28.     public static function dump($obj$label=''$type='default'){
  29.         if($label!=''){
  30.             $message $label.': '.var_export($obj,true);
  31.         }else{
  32.             $message var_export($obj,true);
  33.         }
  34.         self::log($message$type);
  35.     }
  36.  
  37.     /**
  38.     * log a message
  39.     * @param mixed $message 
  40.     * @param string $type the log type
  41.     */
  42.     public static function log($message$type='default'){
  43.         global $gJCoord;
  44.         if (!isset($GLOBALS['gJConfig']->logfiles[$type])) {
  45.             $gJCoord->addLogMsg($message$type);
  46.             return;
  47.         }
  48.         $f $GLOBALS['gJConfig']->logfiles[$type];
  49.         if ($f[0== '!'{
  50.             $gJCoord->addLogMsg($messagesubstr($f1));
  51.         }
  52.         else {
  53.             $ip 'NOIP';
  54.             if ($gJCoord->request{
  55.                 $ip $gJCoord->request->getIP();
  56.             }
  57.             $f str_replace('%ip%'$ip $f);
  58.             $f str_replace('%m%'date("m")$f);
  59.             $f str_replace('%Y%'date("Y")$f);
  60.             $f str_replace('%d%'date("d")$f);
  61.             $f str_replace('%H%'date("H")$f);
  62.             $sel new jSelectorLog($f);
  63.  
  64.             error_log(date ("Y-m-d H:i:s")."\t".$ip."\t$type\t$message\n"3$sel->getPath());
  65.         }
  66.     }
  67. }

Documentation generated on Thu, 19 Sep 2013 00:06:13 +0200 by phpDocumentor 1.4.3