课程/PHP/后端开发
高性能的PHP日志系统—SeasLog
-
-
林静听蝉
2016-03-01
- 那么因为ThinkPHP本身的日志系统对于日志的级别区分不是特别的好,所以可以扩展一下。希望达到按不同的日志级别去记录的效果。
在Log.class.php中新建一个l的方法
static function l($message,$level='INFO') {
if(!self::$storage){
$type = $type?:C('LOG_TYPE');
$class = 'Think\\Log\\Driver\\'. ucwords($type);
self::$storage = new $class();
}
self::$storage->l($message,$level);
}
在SeasLog.class.php中新建一个l的方法
public function l($message,$level='INFO') {
//调用SeasLog快捷存储日志的方法
\SeasLog::log($level,$message);
}
在IndexController中的index()方法里
#\Think\Log::l('it is test','INFO');//输出INFO的信息
\Think\Log::l('it is test','DEBUG');//输出DEBUG的信息
-
截图
1赞 · 2采集
-
-
林静听蝉
2016-03-01
- 3-1 在Thinkphp中集成SeasLog(有2种方法)
1.直接在控制器中去调用SeasLog对应的方法。比如需要记录debug的信息直接写debug的方法。
SeasLog::info('test');
2.既然用了框架,那么就依托框架的特性去集成。Thinkphp中有一个Log.class.php(日志处理类)的文件。那么要集成SeasLog,首先要把配置文件Home/Conf/config.php里默认的日志驱动改一下。
'LOG_TYPE'=='SeasLog',
第2个配置项就是日志所存储的空间,在根目录新建一个log文件夹来存储日志。
'LOG_PATH'=>'C:/wamp/www/mooc/Think/log'
然后在ThinkPHP/Library/Think/Log的驱动文件夹Driver上新建一个SeasLog.class.php的类文件。
class SeasLog {
// 实例化并传入参数
public function __construct(){
\SeasLog::setBasePath(C('LOG_PATH'));
\SeasLog::setLogger('Home');
}
/**
* 日志写入接口
* @access public
* @param string $log 日志信息
* @param string $destination 写入目标
* @return void
*/
public function write($log,$lever='DEBUG') {
\SeasLog::debug($log);
}
}
-
截图
1赞 · 2采集