构建自己的PHP框架(日志)

完整项目地址:https://github.com/Evai/Aier

 

日志在程序开发中有着十分重要的作用,帮助开发者更快的找到程序错误并即时处理。下面制作一个非常简单的记录日志类。

在 services 目录下创建Log.php :

 

<?php

date_default_timezone_set('PRC');
/**
 * Class Log
 */
class Log
{
    public $path = BASE_PATH . '/log';

    /**
     * Log constructor.
     * @param $msg
     * @param string $path
     */
    public function __construct($msg, $path = '')
    {
        //日志路径
        $path = $path ? $path : $this->path;
        //每天生成一个日志文件
        $filePath = $path . '/' . date('Y-m-d');

        if (!is_dir($filePath)) mkdir($filePath, 0777, true);
        //每小时生成一个日志文件,防止日志文件过大
        $nowTime = date('H');
        //文件名
        $fileName = $filePath . '/' . $nowTime . '.log';
        //记录日志时间
        $prefix = date('Y-m-d H:i:s') . "\t---\t";

        if (file_put_contents($fileName, $prefix . $msg . PHP_EOL, FILE_APPEND))
        {
            return true;
        }

        return false;

    }

    /**
     * @param $msg
     * @param string $path
     * @return Log
     */
    public static function info($msg, $path = '')
    {
        return new Log($msg, $path);
    }
}

 

执行命令:

 

composer dump-autoload

 

在控制器中调用方法:

 

Log::info(json_encode($_SERVER));

 

可以看到在log目录下生成了日志文件:

 

posted @ 2017-01-03 10:57  Evai  阅读(1199)  评论(0编辑  收藏  举报