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
  7. @copyright  2006 Laurent Jouanneau, 2007 F. Fernandez
  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.  
  44.         $f $GLOBALS['gJConfig']->logfiles[$type];
  45.         if ($f[0== '!'{
  46.             $GLOBALS['gJCoord']->addLogMsg("log $type$message"substr($f1));
  47.         }
  48.         else {
  49.             if(!isset($_SERVER['REMOTE_ADDR']))// for CLI mode (bug #111)
  50.                 $_SERVER['REMOTE_ADDR''127.0.0.1';
  51.             }
  52.             $f str_replace('%ip%'$_SERVER['REMOTE_ADDR']$f);
  53.             $f str_replace('%m%'date("m")$f);
  54.             $f str_replace('%Y%'date("Y")$f);
  55.             $f str_replace('%d%'date("d")$f);
  56.             $f str_replace('%H%'date("H")$f);
  57.             $sel new jSelectorLog($f);
  58.  
  59.             error_log(date ("Y-m-d H:i:s")."\t".$_SERVER['REMOTE_ADDR']."\t$type\t$message\n"3$sel->getPath());
  60.         }
  61.     }
  62. }

Documentation generated on Thu, 22 Mar 2012 22:16:27 +0100 by phpDocumentor 1.4.3