很多站长朋友们都不太清楚php日志处理类,今天小编就来给大家整理php日志处理类,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php后台操作日志怎么做,记录数据库操作 2、 php实现日志管理(记录用户操作)原理 3、 php实现的debug log日志操作类实例 4、 php日志类?? 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实现日志管理(记录用户操作)原理把日志需要保留的数据用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,循环然后和其它信息一起入库或文件。
php实现的debug log日志操作类实例本文实例讲述了php实现的debug
log日志操作类。分享给大家供大家参考,具体如下:
<?php
class
Tool
{
public
static
function
log($info)
{
$time
=
date('m-d
H:i:s');
$backtrace
=
debug_backtrace();
$backtrace_line
=
array_shift($backtrace);
//
哪一行调用的log方法
$backtrace_call
=
array_shift($backtrace);
//
谁调用的log方法
$file
=
substr($backtrace_line['file'],
strlen($_SERVER['DOCUMENT_ROOT']));
$line
=
$backtrace_line['line'];
$class
=
isset($backtrace_call['class'])
?
$backtrace_call['class']
:
'';
$type
=
isset($backtrace_call['type'])
?
$backtrace_call['type']
:
'';
$func
=
$backtrace_call['function'];
file_put_contents($_SERVER['DOCUMENT_ROOT'].'/debug.log',
"$time
$file:$line
$class$type$func:
$info\n",
FILE_APPEND);
}
}
class
Action
{
public
function
a()
{
$this->b();
}
public
function
b()
{
$this->c();
}
public
function
c()
{
Tool::log('sdfsdf');
}
}
$action
=
new
Action();
$action->a();
这里再补充一个函数:
function
loginfo($format)
{
$args
=
func_get_args();
array_shift($args);
$d
=
debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT,
1)[0];
$info
=
vsprintf($format,
$args);
$data
=
sprintf("%s
%s,%d:
%s\n",
date("Ymd
His"),
$d["file"],
$d["line"],
$info);
file_put_contents(__DIR__."/log.txt",
$data,
FILE_APPEND);
}
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP错误与异常处理方法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
php日志类??首先,你得有一个“日志类”,明显PHP并没有内置,所以你需要自己编写这个类。
日志模块的大概设计思路如下:
1、你得有一个数据表,记录所有的用户行为。
2、你得写一个“日志类”,这个类至少有一个方法:向数据表写入日志信息
那日志信息从哪里来呢?
在你想记录日志的地方,调用日志类的方法来触发写入动作。
比如(伪代码):
if (用户登录成功){
$日志类 = new 日志类();
$日志类->插入数据( "登录日志", "登录成功", "username=a;password=b", "IP" ... )
}
如果你想做日志的查询功能,显然你要给日志类加更多方法..
关于php日志处理类的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php日志处理类 php日志文件的详细内容...