一个简单的开源PHP日志类

<?php 
/**
 * Logging Class
 *
 * @package  CodeIgniter
 * @subpackage Libraries
 * @category Logging
 * @author  ExpressionEngine Dev Team
 * @link  http://codeigniter.com/user_guide/general/errors.html
 */
class CI_Log {
 
 var $log_path = '../logs/';
 var $_threshold = 3;
 var $_date_fmt = 'Y-m-d H:i:s:ms';
 var $_enabled = TRUE;
 var $_levels = array('ERROR' => '1', 'DEBUG' => '2',  'INFO' => '3', 'ALL' => '4');
   
 /**
  * Constructor
  *
  * @access public
  */
 function CI_Log()
 {
  if ( ! is_dir($this->log_path))
  {
   mkdir($this->log_path, 0777);
  }
 }
 
 // --------------------------------------------------------------------
 
 /**
  * Write Log File
  *
  * Generally this function will be called using the global log_message() function
  *
  * @access public
  * @param string the error level
  * @param string the error message
  * @param bool whether the error is a native PHP error
  * @return bool
  */  
 function write_log($level = 'error', $msg, $php_error = FALSE)
 {  
  if ($this->_enabled === FALSE)
  {
   return FALSE;
  }
 
  $level = strtoupper($level);
  
  if ( ! isset($this->_levels[$level]) OR ($this->_levels[$level] > $this->_threshold))
  {
   return FALSE;
  }
 
  $filepath = $this->log_path.'log-'.date('Y-m-d').'.txt';
  $message  = "/r";
  
  
  if ( ! $fp = @fopen($filepath, 'a+'))
  {
   return FALSE;
  }

  $message .= $level.' '.(($level == 'INFO') ? ' -' : '-').' '.date($this->_date_fmt). ' --> '.$msg."/n";
  
  flock($fp, LOCK_EX); 
  fwrite($fp, $message);
  flock($fp, LOCK_UN);
  fclose($fp);
 
  @chmod($filepath, 0666);   
  return TRUE;
 }

}

?>

 

test-------------------------------------------------------------------------------------------------------------------

 

<?php
  include_once('CI_Log.class.php');
  date_default_timezone_set('PRC');

  $Log = new CI_Log();
  $Log->write_log('debug','->begin',false);
  $Log->write_log('debug','->end',false);
?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值