• 后台操作日志(sql日志)


    最近的一个项目 客户那边老是无缘无故的丢失文档 , 所以这边对后台的一些操作进行日志记录 代码如下

    /**
     * 删除文档AJAX
     * @function ajaxDelete
     * @author YuMijo
     */
    function ajaxDelete()
    {   
        // var_dump($_POST['id']);die();
        
    
        $id = $_POST['id'];
        $sql = "SELECT docKey From `e_qcloud_document` WHERE id IN {$id}";
        echo json_encode($this->_sql($sql));
        $sql = "DELETE FROM `e_qcloud_document` WHERE  id IN {$id}";
    
        $this->_sql($sql);
        if($_POST['id'])
            {//管理员日志
                if(!is_dir($dir = dirname(__FILE__).DIRECTORY_SEPARATOR.'data'.DIRECTORY_SEPARATOR.'error'.DIRECTORY_SEPARATOR.'adminLog')) {
                    mkdir($dir, 755);
                }
                
                $content = date('Y-m-d H:i:s', $GLOBALS['startat']).' '.$GLOBALS['startat'].' ['.$duration.'s]'.' [uid='.$_SESSION['admin']['userId'].' '.$_SESSION['admin']['userName'].'] '.$_SERVER['REQUEST_METHOD']. ' '.$_SERVER['REQUEST_URI']."
    ";
                if($_SERVER['REQUEST_METHOD'] == 'POST')
                {
                    foreach($_POST as $key=>$value)
                    {
                        $content .= $key.'='.$value."
    ";
                    }
                }
                $sqls = of_db::getQueryLog();
    
                if(count($sqls) > 100) 
                {
                    $sqls = array_slice($sqls, 0, 100);
                    $sqls[] = '... '.count($sqls).' sqls in total';
                }
                $content .= implode("
    ", $sqls)."
    
    ";
               
                file_put_contents($dir.DIRECTORY_SEPARATOR.date('Ymd').'.log', $content, FILE_APPEND);
                //   var_dump($dir.DIRECTORY_SEPARATOR.date('Ymd').'.log');
                // die();
            }
    }
    

     这里要注意 dirname()函数 限制比较严格 函数返回路径中的目录部分 这个路径如果匹配不上的话 是找不到正确路径的


    这里会记录到 用户信息 用户的操作 也就是对应的sql。
  • 相关阅读:
    定时器与休眠
    进程的创建
    详述进程创建和程序执行
    线程
    会话,进程组,作业控制
    进程优先级和调度
    进程资源
    日志信息log
    能力
    浅谈产品模型(Profile)在程序设计中的作用
  • 原文地址:https://www.cnblogs.com/yumingzhao/p/9713398.html
Copyright © 2020-2023  润新知