zoukankan      html  css  js  c++  java
  • TP5日志打印方法封装

    需求:在开发及测试过程中需要打印日志,并且可以将日志内容打印到指定文件,这样方便查看。

    过程:

    1. 打开thinkLog文件,在该文件中添加一个静态方法,代码如下:

    /**
    * @param $mark 备注
    * @param $log_content 日志内容
    * @param string $fname 文件名
    */
    public static function mylog($mark, $log_content, $fname = "")
    {
    $max_size = 30000000; //字节
    if ($fname == "") {
    $log_filename = RUNTIME_PATH . '/log/' . date('Ym-d') . ".log";
    } else {
    $log_filename = RUNTIME_PATH . '/log/' . $fname . ".log";
    }

    if (file_exists($log_filename) && abs(filesize($log_filename)) > $max_size) {
    //当日志文件过大,移动文件并重命名
    rename($log_filename, dirname($log_filename) . DS . date('Ym-d-His') . $fname . ".log");
    }

    $t = microtime(true);
    $micro = sprintf("%06d", ($t - floor($t)) * 1000000);
    $d = new DateTime (date('Y-m-d H:i:s.' . $micro, $t));
    if(is_array($log_content)){
    $log_content = JSONReturn($log_content);
    }

    file_put_contents($log_filename,
    ' ' . $d->format('Y-m-d H:i:s u') . " key:" . $mark . " " . $log_content . " ------------------------ -------------------------- ",
    FILE_APPEND);
    }

    2. 使用:

        在控制器中引入Log类: use thinkLog;

        调用方法: Log::mylog("info:", JSONReturn($info), "admin_index");  

    3. 注意:JSONReturn()方法是放在了common.php文件中,代码如下:

    function JSONReturn($result)
    {
    return json_encode($result,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
    }
  • 相关阅读:
    lua中for循环
    调试经验
    vim中如何替换
    ~=
    size函数
    ubuntu截屏
    linux下报错处理经验
    error: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)'
    《JavaScript》——DOM
    iOS_截屏并裁剪
  • 原文地址:https://www.cnblogs.com/lty-fly/p/11907356.html
Copyright © 2011-2022 走看看