快速记录日志的php自定义函数

发布时间:2019-11-12编辑:脚本学堂
php写的可以快速记录日志的函数,接收两个参数,日志内容与日志等级,有需要的朋友,不妨参考下。需要定义以下常量YUC_LOG_TYPE、M_PRO_DIR、FILE_APPEND。

php快速记录日志的函数,接收两个参数,日志内容与日志等级。
 

复制代码 代码示例:

<?php
/**
 * record logs file
 * @param <type> $lvevel
 * @param string $level
 * @http://www.jb200.com
*/

define("YUC_LOG_TYPE", "1,2,3,4,5,6"); //日志级别
define("M_PRO_DIR", "./"); //日志目录
define("FILE_APPEND", 1); //是否追加

function Write($msg, $level) {
    $arr_level = explode(',', YUC_LOG_TYPE);
    if (in_array($level, $arr_level)) {
        $record = date('Y-m-d H:m:s') . " >>> " . number_format(microtime(TRUE), 5, ".", "") . ' ' . " : " . $level . "t" . $msg;
        $base = M_PRO_DIR . "/Log";
        $dest = $base . "/" . date("YmdH", time()) . 'log.php';
        if (!file_exists($dest)) {
            @mkdir($base, 0777, TRUE);
            @file_put_contents($dest, "<?php die('Access Defined!');?>rn", FILE_APPEND);
        }
        if (file_exists($dest)) {
            @file_put_contents($dest, $record . "rn", FILE_APPEND);
        }
    }
}

//调用示例
$msg = "www.jb200.com---access logs--testing---";
write($msg, 2);
?>

执行后的结果,如下图所示:
php日志记录
在当前目录下,创建Log目录,并在其中生成日志文件