ThinkPHP开发中的日志记录

这是我实习以来的第一个项目(服务器管理系统),我做了项目的一部分功能,感觉每次实践都会有所收获,下面我要把自己在开发过程中的日志记录写下来~~

首先,你要建一个日志表,我的这个表里面的字段有:`user_id`,`account`,`nickname`,`insert_time`,`app`,`action`, `method`,`query_string`,`is_desc`,`desc`,`ipaddr`,`unique_flag`

 

 // 是否开启调试模式 (开启AllInOne模式时该配置无效, 将自动置为false)
    ‘APP_DEBUG’       => 0,
    ‘LOG_DB_HOSTNAME’ => $conf['dbhost'], //操作日志所用的数据库
    ‘LOG_DB_USERNAME’ => $conf['dbuser'],
    ‘LOG_DB_PASSWORD’ => $conf['dbpass'],
    ‘LOG_DB_DATABASE’ => $conf['dbname'],
    ‘LOG_DB_TABLE’    => ‘tp_logs’,
    ‘LOG_DB_TYPE’     => ‘mysql’,

  还要在Common/common.php里面进行方法的定义:

/**
 * 获取日志数据库
 * @return type
 */
function getGlobalSkypeLogDbConfig() {
 $global_skype_db_config = array(
     ‘dbms’          => C(‘LOG_DB_TYPE’),
     ‘username’ => C(‘LOG_DB_USERNAME’),
     ‘password’ => C(‘LOG_DB_PASSWORD’),
     ‘hostname’ => C(‘LOG_DB_HOSTNAME’),
     ‘database’   => C(‘LOG_DB_DATABASE’),
 );
 return $global_skype_db_config;
}

/**
 * 添加操作日志
 * @global array $global_skype_db_config
 * @staticvar type $global_skype_log_db_conn
 * @param type $desc
 * @param type $unique_flag
 * @param type $app
 * @param type $action
 * @param type $method
 * @return type
 */
function addOperationLog($desc=NULL, $unique_flag=’system’, $app=APP_NAME, $action=MODULE_NAME, $method=ACTION_NAME) {
 $global_skype_db_config = getGlobalSkypeLogDbConfig();
 static $global_skype_log_db_conn;
 if (!$global_skype_log_db_conn) {
  $global_skype_log_db_conn = mysql_connect($global_skype_db_config['hostname'], $global_skype_db_config['username'], $global_skype_db_config['password']);
 }
 if (!$global_skype_log_db_conn) {
  die(‘Mysql_Error:’ . __FILE__ . ‘|’ . __LINE__ . ‘|’ . mysql_error());
 }
 mysql_query(‘use ‘ . $global_skype_db_config['database'], $global_skype_log_db_conn);
 mysql_query(‘set names utf8 ‘, $global_skype_log_db_conn);

 $account = getAdminAccount();
 $nickname = getAdminNickname();
 $user_id = intval(getAdminUserId());
 $ipaddr = get_client_ip();
 $query_string = print_r(array_merge($_GET, $_POST), true);

 $desc = $desc;
 $is_desc = 0;
 $unique_flag = $unique_flag;
 if ($desc) {
  $is_desc = 1;
 }

 $insert_time = date(‘Y-m-d H:i:s’);

 $query = "INSERT INTO `" . C(‘LOG_DB_TABLE’) . "` (`user_id`,`account`,`nickname`,`insert_time`,`app`,`action`,
    `method`,`query_string`,`is_desc`,`desc`,`ipaddr`,`unique_flag`) VALUES (‘$user_id’,'$account’,'$nickname’,'$insert_time’,'$app’,
    ‘$action’,'$method’,'$query_string’,'$is_desc’,'$desc’,'$ipaddr’,'$unique_flag’);";

 return mysql_query($query, $global_skype_log_db_conn);
}

/**
 * 获取当前登录的用户的帐号信息
 */
function getAdminAccount() {
 return Session::get(‘loginAccount’);
}

/**
 * 获取当前管理员的昵称
 * @return type
 */
function getAdminNickname() {
 return Session::get(‘loginUserName’);
}

/**
 * 获取当前登录的用户数字ID
 */
function getAdminUserId() {
 return Session::get(C(‘USER_AUTH_KEY’));
}

 当你都做完了以上操作,要实现日志记录数据库的时候只要这样         addOperationLog($info);            就可以了哦~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值