php实现日志管理(记录用户 *** 作)原理

php实现日志管理(记录用户 *** 作)原理,第1张

把日志需要保留的数据用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,循环然后和其它信息一起入库或文件。

解决方案:

插入数据库

$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=add&id=xx

/,'action' *** 作类型, array('add'/

}

function addlog($action,$query_string)

{

/query($sql)

}

在php编程中,对于一些访问没有明显错误提示的php页面,可以通过error_log来做进一步的判定。

但出于种种原因,有些服务器并没有开启PHP的error_log功能。

测试或其它需要时,可以打开一下,方法如下。

编辑php.ini,将log_errors设置为on:

log_errors = On

然后,重启apache即可。

如成功开启,就可以跟踪到对应的错误提示:

[Mon Sep 24 16:57:01 2012] [error] [client 218.5.80.210] PHP Warning: fsockopen() has been disabled for security reasons in /home/bccgi-bin/fsockopen.php on line 2

[Mon Sep 24 16:57:02 2012] [error] [client 218.5.80.210] PHP Warning: fsockopen() has been disabled for security reasons in /home/bccgi-bin/fsockopen.php on line 2

[Mon Sep 24 16:57:03 2012] [error] [client 218.5.80.210] PHP Warning: fsockopen() has been disabled for security reasons in /home/bccgi-bin/fsockopen.php on line 2

[Mon Sep 24 16:57:04 2012] [error] [client 218.5.80.210] PHP Warning: fsockopen() has been disabled for security reasons in /home/bccgi-bin/fsockopen.php on line

另外,注意在Windows环境下,除了将log_errors设置为on外,还需要定义error_log的路径及文件名:

error_log = d:/temp/error.log

(此目录需要授予php标识用户的修改权限,否则日志文件无法生成)

IIS没有error_log的概念,所以需要另外定义。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7318848.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存