mvc配置类(日志类)的编写

本文介绍了一个简单的日志管理系统的设计与实现,包括如何通过自定义的日志类来记录信息,并将其存储到指定的文件路径中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、日志类
日志类是我们所有框架中不可缺少的,我们的日志分很多,有的日志类存在数据库中,存在缓存中,很多的。现在我们写的这个是存在文件中。首先呢,我们需要确定下日志的存储方式。
我们需要现在lib里面创建几个目录,将所有的驱动文件都放到lib下的drive里面, 之后呢在drive里面创建我们的日志 如下图:
这里写图片描述
其中 file 是我们的文件系统 如下:

class file {
    public $path; #日志存储位置   是一个路径。
    public function __construct(){
         $conf = conf::get('OPTION','log');
         $this->path = $conf['PATH'];
    }
    public function log($message,$file = 'log'){
        /**
         * 1.确定文件储存位置是否存在
         *      新建目录
         * 2.写入日志
         * $file 文件名
         * $message 存储的数据
         * PHP_EOL 特定的换行符
         * FILE_APPEND 防止存储的数据覆盖
         */

        if(!is_dir($this->path.date('YmdH'))){
            mkdir($this->path.date('YmdH'),'0777',true);           
        }
        return file_put_contents($this->path.date('YmdH').'/'.$file.'.php',date('Y-m-d H:i:s').json_encode($message).PHP_EOL,FILE_APPEND);
    }

我们还需要在config中建立一个日志文件路径的配置文件log.php

<?php  
return array(
    'DRIVE'=>'file',
    'OPTION' => array(
        'PATH' => MVC.'/log/'
    )
);

file也是一个类,当我们去调用lib中log类时

class log {
    /**
     * 1.确定日志储存方式
     *
     *
     * 2.写日志
     */
    static $class;
    static public function init(){
        //确定储存方式
        $drive = conf::get('DRIVE','log');
        $class = '\core\lib\drive\log\\'.$drive;

        self::$class = new $class;
    }
    static public function log($name,$file = 'log'){
        //调用$class里面的log方法
        self::$class->log($name,$file);
    }
}

log类中的log方法继而去实现file中的log方法

\core\lib\log::init();
\core\lib\log::log('传入的数据','文件名');

我们调用log类中的log方法时,就会在我们的根目录下的log文件夹中创建文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值