框架原理之日志类(七)

目录结构:

qq%e5%9b%be%e7%89%8720170525001049

日志类 core\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;
self::$class = new $class;
}
static public function log($message,$file = 'log')
{
self::$class->log($message,$file);
}
}

文件日志类 \core\lib\drive\log\file.php

<?php
namespace core\lib\drive\log;
use core\lib\conf;
class file
{
protected $path;
public function __construct()
{
$conf = conf::get('OPTION','log');
$this->path = $conf['PATH'];
}
public function log($message,$file = 'log')
{
/*
* 1.确定文件存储位置是否存在
* 新建目录
* 2.写入日志
*/
if(!is_dir($this->path))
{
mkdir($this->path,'0777',true);
}
file_put_contents($this->path.$file.'.php',date('Y-m-d H:i:s').$message.PHP_EOL,FILE_APPEND);
}
}

日志配置文件 core\config\log.php

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

写入日志

\core\lib\log::init();
\core\lib\log::log('test');
posted @   xiaobingch  阅读(104)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示