程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> THINKPHP項目開發中的日志記錄實例分析

THINKPHP項目開發中的日志記錄實例分析

編輯:PHP綜合

本文實例講述了THINKPHP項目開發中的日志記錄用法。分享給大家供大家參考。具體方法如下:

1、建立日志表
復制代碼 代碼如下:CREATE TABLE `logs` ( 
  `id` int(11) NOT NULL auto_increment, 
  `guid` varchar(100) character set utf8 NOT NULL, 
  `addtime` timestamp NOT NULL default CURRENT_TIMESTAMP, 
  `account` varchar(100) character set utf8 NOT NULL, 
  `nickname` varchar(100) character set utf8 NOT NULL, 
  `app` varchar(100) character set utf8 NOT NULL, 
  `action` varchar(100) character set utf8 NOT NULL, 
  `method` varchar(100) character set utf8 NOT NULL, 
  `query_string` text character set utf8 NOT NULL, 
  `is_desc` varchar(100) character set utf8 NOT NULL, 
  `desc` varchar(100) character set utf8 NOT NULL, 
  `ipaddr` varchar(100) character set utf8 NOT NULL, 
  `unique_flag` varchar(100) character set utf8 NOT NULL, 
  PRIMARY KEY  (`id`) 
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 ;
2、Common/common.php裡面進行方法的定義:
復制代碼 代碼如下:function getGlobalSkypeLogDbConfig() { 
 $global_skype_db_config = array( 
     'dbms'          => C('DB_TYPE'), 
     'username' => C('DB_USER'), 
     'password' => C('DB_PWD'), 
     'hostname' => C('DB_HOST'), 
     'database'   => C('DB_NAME'), 
 ); 
 return $global_skype_db_config; 

 
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 = 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') . "` (`guid`,`account`,`nickname`,`addtime`,`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['loginAccount']; 

 
function getAdminNickname() { 
 return $_SESSION['loginUserName']; 

 
function getAdminUserId() { 
 return $_SESSION[C('USER_AUTH_KEY')]; 
}
在其他操作類裡調用addOperationLog();即可

希望本文所述對大家的ThinkPHP框架程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved