CI框架 自定义日志方法!!!

function logMessage($level, $msg) {
        $level = strtolower($level);
        // 支持的错误类型
        $type = array('error','debug','info','fatal');
        if (!in_array($level,$type)) {
           return false;
        }

        //文件夹目录
        $folder = str_replace('\\', '/', FCPATH.'logs/'.date('Y',time()).'/'.date('m',time()).'/'.date('d',time()).'/'.$level.'/');
        if(!file_exists($folder)) {
            Directory($folder);
        }
        $instance =& get_instance();
        $info = array(
            'SERVER_PROTOCOL' => isset($_SERVER['SERVER_PROTOCOL'])     ? $_SERVER['SERVER_PROTOCOL']     : '',
            'APP_VERSION'     => isset($instance->request['version'])   ? $instance->request['version']   : '',
            'APP_EQUIPMENT'   => isset($instance->request['equipment']) ? $instance->request['equipment'] : '',
            'SERVER_NAME'     => isset($_SERVER['SERVER_NAME'])         ? $_SERVER['SERVER_NAME']         : '',
            'REQUEST_METHOD'  => isset($_SERVER['REQUEST_METHOD'])      ? $_SERVER['REQUEST_METHOD']      : '',
            'REQUEST_URI'     => isset($_SERVER['REQUEST_URI'])         ? $_SERVER['REQUEST_URI']         : '',
        );

        $info = implode(' --> ', $info);
        $file = date('H').'-log.txt';
        $content = date('H:i:s ') . $info.' --> ' .$level .' :'. $msg . "\n";
        $path = $folder.$file;
        if(!file_put_contents($path, $content,FILE_APPEND)){
            logMessage('fatal',date('y-m-d').' 写入日志失败');
        }
    }



/**
	 * 递归创建文件
	 * @param $dir
	 * @return bool
	 */
	function Directory($dir){

		if(is_dir($dir) || @mkdir($dir,0777,true)){ //查看目录是否已经存在或尝试创建,加一个@抑制符号是因为第一次创建失败,会报一个“父目录不存在”的警告。
			return true;
		}else{
			$dirArr = explode('/',$dir); //当子目录没创建成功时,试图创建父目录,用explode()函数以'/'分隔符切割成一个数组
			array_pop($dirArr); //将数组中的最后一项(即子目录)弹出来,
			$newDir = implode('/',$dirArr); //重新组合成一个文件夹字符串
			Directory($newDir); //试图创建父目录
			if(@mkdir($dir , 0777,true)){
				//创建文件
				//@fopen($fileName , 'wb');
				return true;
			} //再次试图创建子目录,成功输出目录名
		}
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值