MVC 日志类(文件存储)

本文介绍如何使用PHP从零开始搭建一个简易的日志系统,包括日志类的创建、配置文件设置及驱动文件编写等步骤,并通过实例演示了日志记录的具体实现。

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

在lib目录下创建log.php

<?php
namespace core\lib;
use core\lib\conf;
class log
{
    static $class;
    /*
    *
    * 1.确定日志储存方式
    *
    * 2.写日志
    */
    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')
    {
        self::$class->log($name,$file);
    }
}

在config下创建日志配置文件log.php

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

在lib下创建日志驱动文件\drive\log\log.php

<?php 
namespace core\lib\drive\log;
use core\lib\conf;
   //文件的形式储存
class file
{
    public $path; //日志储存的位置
    public function __construct()
    {
        $paths=conf::get('OPTION','log');
        $this->path=$paths['PATH'];
    }

    /*
    *初始化加载储存方式
     */
    public function log($message,$file = 'log')
    {
        /*
        *
        *确定文件存储的位置是否正确否则重新建立
        *写入日志 
        */
        $data=date('YmdH');
        $files=$this->path.$data;
        is_dir($files)or mkdir($files,0777,true);
        $message=json_encode($message);
        return file_put_contents($files.'/'.$file.'.php',date('Y-m-d H:i:s').$message.PHP_EOL,FILE_APPEND);
    }
}

然后在框架根目录下创建log文件夹
接下来我们去imooc文件下的run方法中测试我们的日志类
在run方法中写如下代码

\core\lib\log::init();
\core\lib\log::log('日志');

运行框架我们就会在log文件下看到以当前时间命名的一个文件夹下生成了一个日志文件log.php

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值