zoukankan      html  css  js  c++  java
  • php 项目中自定义日志方法

      在现在项目中之前没有定义日志的方法,每次调试起来很麻烦,经常不能输出参数,只能用写日志的方法,一直用file_put_contents很烦躁,于是用了一点时间,写了这样一个方法:

      

    <?php
    /*
     * 日志生成类
     * write by vson
     * time:2017-06-14
     * for:record and check
     * */
    class logClass{
        /*
         * 清除一个月之前的日志
         * */
        protected function logDirClear($logDir = '/tmp/log'){
            if(is_dir($logDir)){
                $dirHandle = opendir($logDir);
                while(($dirName = readdir($dirHandle)) != false){
                    $subDir = $logDir.'/'.$dirName;
                    if($dirName == '.' || $dirName == '..'){
                        continue;
                    }else{
                        $monthDate = date('Y-m-d', strtotime("- 30 day",time()));
                        if(strtotime($monthDate) > strtotime($dirName)){
                            if(is_dir($subDir)){
                                $this->logFileClear($subDir);
                                rmdir($subDir);
                            }
                        }
                    }
                }
                closedir($dirHandle);
            }
        }
        protected function logFileClear($fileDir){
            if(is_dir($fileDir)){
                $fileHandle = opendir($fileDir);
                while(($fileName = readdir($fileHandle)) != false){
                    $subDir = $fileDir.'/'.$fileName;
                    if($fileName == '.' || $fileName == '..'){
                        continue;
                    }else{
                        if(is_dir($subDir)){
                            $this->logFileClear($subDir);
                            rmdir($subDir);
                        }else{
                            unlink($subDir);
                        }
                    }
                }
                closedir($fileHandle);
            }
        }
        /*
         * 生成新日志
         * */
        public function logWrite($fileName, $user, $content){
            $this->logDirClear();
            $logDir = '/tmp/log';
            $now = date('Y-m-d');
            $nowDir = $logDir.'/'.$now;
            if(!is_dir($nowDir)){mkdir($nowDir, 0777, true);
            }
            $fileDir = $nowDir.'/'.$fileName;
            $fileContent = $user.'在'.date('Y-m-d H:i:s').'时操作,内容为:'.$content;
            file_put_contents($fileDir, $fileContent."
    ====================
    ", FILE_APPEND);
        }
    
    }
  • 相关阅读:
    IDEA中代码无故报红解决方法
    CAP原则的基本理论知识
    Java IO 拷贝MP3文件,包括递归子文件夹下的文件
    maven 配置阿里云镜像 settings.xml内容
    Restful API 级别及意义
    日常巡检(脚本)
    使用Matplotlib画图系列(一)
    Python 阶乘factorial
    交叉验证思想
    FeatureSelectors
  • 原文地址:https://www.cnblogs.com/wxdblog/p/7018193.html
Copyright © 2011-2022 走看看