您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

PHP实现一个简单的日志处理类

2025/12/28 21:45:42发布20次查看
这篇文章主要介绍了php实现一个简单的日志处理类,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
<?php //以下为日志 interface iloghandler { public function write($msg); } class clogfilehandler implements iloghandler { private $handle = null; public function __construct($file = '') { $this->handle = fopen($file,'a'); } public function write($msg) { fwrite($this->handle, $msg, 4096); } public function __destruct() { fclose($this->handle); } } class log { private $handler = null; private $level = 15; private static $instance = null; private function __construct(){} private function __clone(){} public static function init($handler = null,$level = 15) { if ( ! self::$instance instanceof self ) { self::$instance = new self(); self::$instance->__sethandle($handler); self::$instance->__setlevel($level); } return self::$instance; } private function __sethandle($handler){ $this->handler = $handler; } private function __setlevel($level) { $this->level = $level; } public static function debug($msg) { self::$instance->write(1, $msg); } public static function warn($msg) { self::$instance->write(4, $msg); } public static function error($msg) { $debuginfo = debug_backtrace(); $stack = "["; foreach($debuginfo as $key => $val){ if(array_key_exists("file", $val)){ $stack .= ",file:" . $val["file"]; } if(array_key_exists("line", $val)){ $stack .= ",line:" . $val["line"]; } if(array_key_exists("function", $val)){ $stack .= ",function:" . $val["function"]; } } $stack .= "]"; self::$instance->write(8, $stack . $msg); } public static function info($msg) { self::$instance->write(2, $msg); } private function getlevelstr($level) { switch ($level) { case 1: return 'debug'; break; case 2: return 'info'; break; case 4: return 'warn'; break; case 8: return 'error'; break; default: } } protected function write($level,$msg) { if(($level & $this->level) == $level ) { $msg = '['.date('y-m-d h:i:s').']['.$this->getlevelstr($level).'] '.$msg."\n"; $this->handler->write($msg); } } } ?>

调用方式:
$loghandler= new clogfilehandler(rootpath . '/logs/'.date('y-m-d').'.log');
$log = log::init($loghandler, 15);
log::debug( var_export($response, true) );
相关推荐:
php实现的日志收集系统
php实现生成推广海报的方法
以上就是php实现一个简单的日志处理类的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product