一、日志类
日志类是我们所有框架中不可缺少的,我们的日志分很多,有的日志类存在数据库中,存在缓存中,很多的。现在我们写的这个是存在文件中。首先呢,我们需要确定下日志的存储方式。
我们需要现在 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 文件夹中创建文件。
就爱阅读 www.92to.com 网友整理上传, 为您提供最全的知识大全, 期待您的分享,转载请注明出处。
来源: