• log日志方法


    <?php
    /**
     * 记录日志
     *
     * @package    library
     */
    defined('DYMall') or exit('Access Invalid!');
    define('BASE_DATA_PATH', '/data');
    
    class Log
    {
        const SQL = 'SQL';
        const ERR = 'ERR';
        const INFO = 'INFO';
        const RUN = 'RUN';
        private static $log = array();
        private static $logFile = "%s%s.log";
    
        //sql日志文件
        private static $sqlFile = 'sql_';
    
        /**
         * Notes:记录
         * User: Abel Yang
         * Date: 2020/5/30/030
         * Time: 15:40
         * @param $message
         * @param string $level
         */
        public static function record($message, $level = self::INFO)
        {
            $level = strtoupper($level);
            switch ($level) {
                case self::INFO:
                case self::ERR:
                case self::RUN:
                    self::info($message, $level);
                    break;
            }
        }
    
        /**
         * Notes:sql日志
         * User: Abel Yang
         * Date: 2020/5/30/030
         * Time: 16:46
         * @param $message
         */
        public static function sql($message){
            if (C('sql_debug')) {
                $content = "[" . self::getNow() . "] {$message}
    ";
                self::write($content, self::$sqlFile);
            }
        }
    
        public static function read()
        {
            return self::$log;
        }
    
        /**
         * Notes:普通日志
         * User: Abel Yang
         * Date: 2020/5/30/030
         * Time: 15:39
         * @param $message
         * @param $level
         */
        public static function info($message, $level = self::INFO)
        {
            self::write("[" . self::getNow() . "] " . self::getUrl() . "
    [{$level}]: {$message}
    ");
        }
    
        /**
         * Notes:错误日志
         * User: Abel Yang
         * Date: 2020/5/30/030
         * Time: 15:39
         * @param string $message
         */
        public static function error($message = "")
        {
            $stack = $message;
            $debugInfo = debug_backtrace();
            foreach ($debugInfo as $key => $val) {
                if (array_key_exists("file", $val)) $stack .= ",file:" . $val["file"];
                if (array_key_exists("line", $val)) $stack .= ",line:" . $val["line"];
                if (array_key_exists("function", $val)) $stack .= ",function:" . $val["function"];
            }
            self::info($stack, self::ERR);
        }
    
        private static function write($content, $filePrefix = "")
        {
            if (empty($content)) return;
    
            $logDir = BASE_DATA_PATH . '/log/';
            is_dir($logDir) ?: mkdir($logDir, 0777, true);
    
            $fileName = sprintf(self::$logFile, $filePrefix, date('Ymd'));
            $logFile = $logDir . $fileName;
            file_put_contents($logFile, "{$content}", FILE_APPEND);
        }
    
        private static function getNow()
        {
            list($usec, $sec) = explode(" ", microtime());
            return date('Y-m-d H:i:s', $sec) . " " . $usec;
        }
    
        private static function getUrl()
        {
            $url = $_SERVER['REQUEST_URI'] ? $_SERVER['REQUEST_URI'] : $_SERVER['PHP_SELF'];
            $url .= " ( app={$_GET['app']}&mod={$_GET['mod']} ) ";
            return $url;
        }
    }
    

      调用

    $error = '用户796邀请797注册'.PHP_EOL;
    Log::record($error);

    效果

    [2020-06-04 15:26:30 0.49780000] /cmobile/index.php?app=members&mod=memberid&key=79ad123033c09a3416449cf03ed23f0b&type=3&memberid=YT78309 ( app=members&mod=memberid )
    [INFO]: 用户796邀请797注册

  • 相关阅读:
    WebStorm 9 配置 Live Edit 功能与浏览器实现同步
    开源JS图片裁剪插件
    cropper手机使用实例
    Laravel中的Storage::disk
    laravel删除文件
    cropper.js移动端使用
    资本的一些运作规律及启示
    laravel文件存储、删除、移动等操作
    解决div和父div不上对齐
    ubuntu14.04如何卸载qq
  • 原文地址:https://www.cnblogs.com/yszr/p/13043884.html
Copyright © 2020-2023  润新知