给数据库某些特定表的写操作记录到文件的日志功能的静态类


/**
 * Created by PhpStorm.
 * User: Fei
 * Date: 2016/7/27
 * Time: 12:03
 */
class Logs
{
    public static $is_open = true;
    public static $limit_table = array('zyads_log_hour', 'zyads_stats');

    public static function sql_log($sql_type, $table_name, $sql_str){
        if(!self::$is_open){
            return false;
        }

        $limit = in_array($table_name, self::$limit_table);
        if(!$limit){
            return false;
        }

        $file_path = WWW_DIR.'/var/log/log-'.date('Y-m-d').'.txt';
        if (!($fp = @fopen($file_path, 'ab'))) {
            return false;
        }

        $time = date('Y-m-d H:i:s');
        $aff_username = isset($_SESSION['affiliate']['username']) ? $_SESSION['affiliate']['username'] : $_REQUEST['username'];
        $user = isset($_SESSION['admin']['username']) ? $_SESSION['admin']['username'] : $aff_username;
        $data = array(
            'log_time'          => $time,
            'username'          => $user,
            'sql_type'          => $sql_type,
            'table_name'        => $table_name,
            'sql_str'           => $sql_str
        );
        $log_info = json_encode($data)."\n\r";
        flock($fp, LOCK_EX);
        fwrite($fp, $log_info);
        flock($fp, LOCK_UN);
        fclose($fp);
        return true;
    }
}

 

转载于:https://my.oschina.net/u/1776219/blog/719128

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值