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项目开发中的日志记录 - Thinkphp的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did6258