【PHP】打印log方法

  我用的是medoo数据库框架,直接把log添加到数据库中,使用时需要导入medoo文件。

Log.php

<?php

require ('../dao/medoo.php');



function logI($tag, $message) {

    input("i", $tag, $message);

}



function logE($tag, $message) {

    input("e", $tag, $message);

}



function logW($tag, $message) {

    input("w", $tag, $message);

}

function logD($tag, $message) {

    input("d", $tag, $message);

}



function input($type, $tag, $message) {

    $db = new medoo(null);

    $db->insert("en_log", array (

    "l_id" => uuid(), "l_type" => $type, "l_tag" => $tag, "l_msg" => $message));

}



/**

 * 生成UUID

 */

function uuid($prefix = ''){

    $chars = md5(uniqid(mt_rand(), true));

    $uuid  = substr($chars,0,8) . '-';

    $uuid .= substr($chars,8,4) . '-';

    $uuid .= substr($chars,12,4) . '-';

    $uuid .= substr($chars,16,4) . '-';

    $uuid .= substr($chars,20,12);

    return $prefix . $uuid;

}

?>

 

下面是mysql数据库结构,我用的是uuid做表的主键

CREATE TABLE `en_log` (

  `l_id` char(36) NOT NULL,

  `l_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

  `l_type` enum('i','d','w','e') NOT NULL,

  `l_tag` char(50) NOT NULL,

  `l_msg` text NOT NULL,

  PRIMARY KEY (`l_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

我知道PHP打印log肯定还有更好的方式可以提出。

 

 

你可能感兴趣的:(PHP)