php数据库操作日志记录,php log日志

php后台操作日志怎么做,记录数据库操作

解决方案:

十余年的拱墅网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整拱墅建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“拱墅网站设计”,“拱墅网站推广”以来,每个客户项目都认真落实执行。

插入数据库

$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 数据库操作日志记录

//先创建一个log表,有id, action, username, query, time 等字段,如果需要记录更多,可添加

$query_string = $_SERVER['QUERY_STRING'];//查询(query)的字符串,这个最好处理一下

$action = $_REQUEST['action'];//操作类型,可以自己定义。比如?action=addid=xx

//$username就是当前操作人的名字了,登录后都有的吧

if(in_array($action, array('add', 'edit','delete','update')))

{

addlog($action,$username,$query_string);

}

function addlog($action,$username,$query_string)

{

//这里可以把时间和$query_string处理一下,插入数据库

$db-query($sql);

}

大致思路就是这样的了,细节还需你自己完善

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,循环然后和其它信息一起入库或文件。

thinkphp日志记录文件被存在了什么地方

日志记录\ThinkPHP\Lib\Think\Core\Log.class.php

1、可以在config.php中进行设置,默认为关闭状态。 'APP_DEBUG' = true

打开\ThinkPHP\Common\debug.php文件可以查看debug的默认设置如下:

return array(

'LOG_RECORD'=true, // 进行日志记录

'LOG_RECORD_LEVEL' = array('EMERG','ALERT','CRIT','ERR','WARN','NOTIC','INFO','DEBUG','SQL'), // 允许记录的日志级别

'DB_FIELDS_CACHE'= false, //数据库字段缓存

'SHOW_RUN_TIME'=true, // 运行时间显示

'SHOW_ADV_TIME'=true, // 显示详细的运行时间

'SHOW_DB_TIMES'=true, // 显示数据库查询和写入次数

'SHOW_CACHE_TIMES'=true, // 显示缓存操作次数

'SHOW_USE_MEM'=true, // 显示内存开销

'SHOW_PAGE_TRACE'=true, // 显示页面Trace信息 由Trace文件定义和Action操作赋值

'APP_FILE_CASE' = true, // 是否检查文件的大小写 对Windows平台有效

);

注意事项:DB_FIELDS_CACHE数据库字段缓存默认关闭状态,如果开启的话,会在Runtime\Data文件夹下生成文件缓存,并且修改表之后,如新加了字段,这个缓存无法记录你的操作,需要我们手动删除一次,对表的修改才会成功。

将'APP_DEBUG' = true后,访问页面会出现如下图的DEBUG提示:

如果只想显示一部分提示信息,如运行时间,内存开销等,

可以在config.php中进行相应的设置即可,如:

//'APP_DEBUG' = true, // 调试模式开关

'SHOW_RUN_TIME' = true, //运行时间显示

'SHOW_ADV_TIME' = true, //显示详细的运行时间

'SHOW_DB_TIMES' = true, //显示数据库的操作次数

'SHOW_CACHE_TIMES'=true, //显示缓存操作次数

'SHOW_USE_MEM' = true, //显示内存开销

提示信息如下图:

2、页面Trace信息的自定义:\ThinkPHP\Tpl\PageTrace.tpl.php

自定义的方法一:在config.php的同级目录加上一个trace.php文件

?php

return array{

'当前的server信息'=$_SERVER['REMOTE_ADDR'],

};

?

自定义的方法二:在Action方法中添加

$this-trace('我很丑,但是我很温柔','5211314');

3、输出调试法:

halt('aaaaaaa');//输出aaaaaa并且中断程序执行

4、模型调试:显示SQL语句

$User=new Model('User');

$User-find(1);

echo $User-getLastSql();//输出最后执行的一条SQL语句

5、日志记录\ThinkPHP\Lib\Think\Core\Log.class.php

config.php中设置

'LOG_RECORD'=true,//开启了日志记录

'LOG_RECORD_LEVEL'=array('EMERG','ALERT'

php 如何记录用户操作

思路是这样的:1、要建个操作记录的数据表,里面有操作内容,操作时间,操作人员等内容。 2、在数据增、删、该、查处理程序成功的后面(一定要在处理成功后加),加入 操作记录程序,如INSERT INTO table1 ( data,user,zzlr) VALUES (‘$date’,‘$user’,‘增加记录’)


当前名称:php数据库操作日志记录,php log日志
转载来于:http://azwzsj.com/article/hdechs.html