我的框架--QiCai(日志类)

来源:互联网 发布:slackware安装软件 编辑:程序博客网 时间:2024/06/05 05:29
日志类
所有框架都必不可少的功能
创建log.php(lib/log.php)


<?php
namespace core\lib;//命名空间
class log
{
static $class;//创建静态属性 存放类
/**
*1、确定日志的存储方式
*2、写日志
*/
static public function init()
{
//确定存储方式
$drive = conf::get('DRIVE','log');//加载驱动模型
$class = '\core\lib\drive\log\\'.$drive;//拼接类的名称
//在lib/log.php中加载
self::$class = new $class;
}
//进行测试在基类imooc.php中启动
//在日志类中(lib/log.php)创建静态方法调用驱动
static public function log($name)
{
self::$class->log($name);
//进行测试在基类imooc.php中启动
}

}
?>


创建系统驱动文件core/lib/drive/log/file.php
<?php
namespace core\lib\drive\log;
use core\lib\conf;
class file
{
public $path;//日志存储位置
public function __construct()
{
//创建目录 写入配置文件
$conf = conf::get('OPTION','log');
$this->path = $conf['PATH'];
}
public function log($message,$file = 'log')
{
//p($name);//测试用
/**
*1.确定文件存储位置是否存在
*  新建目录
*2.写入日志
*/
//判断路径是否存在 如果不存在直接创建
if(!is_dir($this->path)){
mkdir($this->path,'0777',true);
}
$message = date('Y-m-d H:i:s').$message;
return file_put_contents($this->path.$file.'.php',json_encode($message));
}
}
//文件系统
?>
创建mysql驱动文件core/lib/drive/log/mysql.php
<?php
namespace core\lib\drive\log;
class mysql
{
public function log($name)
{
p($name);
}
}
//数据库
?>
创建日志的配置文件core/config/log.php 用来保存框架日志用的是哪种保存方式
<?php
return array(
'DRIVE'  => 'file',
//存储不同日志的内容
'OPTION' => array(
//在根目录中创建log文件夹
'PATH' => IMOOC.'/log/'
)
);

?>






0 0