本文目錄一覽:
- 1、php網站日誌怎麼記錄
- 2、php後台操作日誌怎麼做,記錄數據庫操作
- 3、php該在哪裡寫日誌?怎麼寫日誌?日誌是做什麼用的?
- 4、thinkphp5 怎麼記錄詳細日誌
- 5、php實現日誌管理(記錄用戶操作)原理
php網站日誌怎麼記錄
php有自己的日誌機制的,去php.ini里配置一項error_log相關的配置項就可以了。
php後台操作日誌怎麼做,記錄數據庫操作
解決方案:
插入數據庫
$db-先創建一個log表, ‘],有id,$username;];update’,登錄後都有的吧
if(in_array($action, action;$username就是當前操作人的名字了;;/, username;這裡可以把時間和$query_string處理一下,’,可添加
$query_string = $_SERVER[‘, query;, time 等字段,可以自己定義;delete’,$username,$query_string);edit’,如果需要記錄更多。比如;)))
{
addlog($action;/QUERY_STRING’,這個最好處理一下
$action = $_REQUEST[‘///查詢(query)的字符串?action=addid=xx
/,’action’;操作類型, array(‘add’/
}
function addlog($action,$query_string)
{
/query($sql);
}
php該在哪裡寫日誌?怎麼寫日誌?日誌是做什麼用的?
所謂的日誌就是記錄系統運行狀態的數據。
一般是將信息記錄到文本文件或數據庫中。
比如:
?php
function writeLog($msg){
$logFile = date(‘Y-m-d’).’.txt’;
$msg = date(‘Y-m-d H:i:s’).’ ‘.$msg.”\r\n”;
file_put_contents($logFile,$msg,FILE_APPEND );
}
//調用上面的函數,寫一條信息進日誌文件
writeLog(‘這是測試日誌信息’);
?
thinkphp5 怎麼記錄詳細日誌
onethink里有這個功能,記錄操作日誌的,可以參考一下
需要先把所有需要記錄的行為添加一下,這個工作量巨大,如果每個行為都要記錄的話··· 所以一般都是把重要的記錄就可以了。
onethink 是 thinkphp開發的 可能跟你的存在版本差異
代碼可以參考以下:
[ 2017-02-21T20:31:33+08:00 ] 192.168.2.106 192.168.2.107 POST /Stardaily/public/index.php/app/User/autoLogin
[ log ] 192.168.2.106:80/Stardaily/public/index.php/app/User/autoLogin [運行時間:0.334305s][吞吐率:2.99req/s] [內存消耗:2,620.18kb] [文件加載:85]
[ info ] [ LANG ] F:\PHP\phpStudy\WWW\Stardaily\thinkphp\lang\zh-cn.php
[ info ] [ ROUTE ] array (
‘type’ = ‘module’,
‘module’ =
array (
0 = ‘app’,
1 = ‘User’,
2 = ‘autoLogin’,
),
)
[ info ] [ HEADER ] array (
‘accept-encoding’ = ‘gzip, deflate’,
‘content-length’ = ’52’,
‘accept-language’ = ‘zh-Hans-CN;q=1, zh-Hant-CN;q=0.9’,
‘user-agent’ = ‘StarDaily/1.1.1 (iPod touch; iOS 10.2; Scale/2.00)’,
‘accept’ = ‘*/*’,
‘connection’ = ‘keep-alive’,
‘content-type’ = ‘application/x-www-form-urlencoded’,
‘host’ = ‘192.168.2.106:80’,
)
[ info ] [ PARAM ] array (
‘account_id’ = ’52’,
‘token’ = ‘68699dad96c7e1741dba59d8b4ce127f’,
)
[ info ] [ RUN ] app\app\controller\User-autoLogin[ F:\PHP\phpStudy\WWW\Stardaily\application\app\controller\User.php ]
[ info ] [ DB ] INIT Pgsql
[ info ] [ LOG ] INIT File
php實現日誌管理(記錄用戶操作)原理
把日誌需要保留的數據用json串或xml等數據結構的方式存儲起來,調用的時候直接解析這些數據結構即可。
按簡單的理解,給各模塊的關鍵步驟起個操作名字,記錄一下該操作名,時間,用戶,IP等就完了。
單入口模式,這樣只需要往index.php加入write_log功能就好了。
至於哪個字段,原值,新值,這個沒什麼好方法啊,可以引入插件機制,
開個類存儲插件方法,命名以module_task為準,比如以上的url就是article_update
那麼這個插件類就是
class plugin
{
public $extraLog;
function article_update($field,$old,$new)
{
self::$extraLog = array(‘字段’=$field,’原值’=$old,’新值’=$new);
}
}
這個方法在流程頁面進行數據庫操作的地方調用,index.php的write_log流程只讀plubin::$extraLog,循環然後和其它信息一起入庫或文件。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/241152.html