亲注册登录道勤网-可以查看更多帖子内容哦!(包涵精彩图片、文字详情等)请您及时注册登录-www.daoqin.net
您需要 登录 才可以下载或查看,没有账号?立即注册
x
在discuz!的\data\log\目录下,我们会看到很多格式如YYYYMM_XX.php的文件(如下图所示),打开文件我们就会看到很多操作日志,这些日志怎么生成的呢,今天我们就来看看Discuz!运行日志记录runlog函数
Discuz!运行日志记录函数runlog详解介绍
runlog函数定义文件 \source\function\function_core.php
- function runlog($file, $message, $halt=0) {
- helper_log::runlog($file, $message, $halt);
- }
复制代码我们看到这个函数是调用的helper_log小助手,helper_log定义于:\source\class\helper\helper_log.php 相关方法如下
- public static function runlog($file, $message, $halt=0) {
- global $_G;
- $nowurl = $_SERVER['REQUEST_URI']?$_SERVER['REQUEST_URI']:($_SERVER['PHP_SELF']?$_SERVER['PHP_SELF']:$_SERVER['SCRIPT_NAME']);
- $log = dgmdate($_G['timestamp'], 'Y-m-d H:i:s')."\t".$_G['clientip']."\t$_G[uid]\t{$nowurl}\t".str_replace(array("\r", "\n"), array(' ', ' '), trim($message))."\n";
- helper_log::writelog($file, $log);//写入文件
- if($halt) {
- exit();
- }
- }
-
- public static function writelog($file, $log) {
- global $_G;
- $yearmonth = dgmdate(TIMESTAMP, 'Ym', $_G['setting']['timeoffset']);
- $logdir = DISCUZ_ROOT.'./data/log/';
- $logfile = $logdir.$yearmonth.'_'.$file.'.php';//日志文件
- if(@filesize($logfile) > 2048000) {
- $dir = opendir($logdir);
- $length = strlen($file);
- $maxid = $id = 0;
- while($entry = readdir($dir)) {
- if(strpos($entry, $yearmonth.'_'.$file) !== false) {
- $id = intval(substr($entry, $length + 8, -4));
- $id > $maxid && $maxid = $id;
- }
- }
- closedir($dir);
-
-
- $logfilebak = $logdir.$yearmonth.'_'.$file.'_'.($maxid + 1).'.php';
- @rename($logfile, $logfilebak);
- }
- if($fp = @fopen($logfile, 'a')) {
- @flock($fp, 2);
- if(!is_array($log)) {
- $log = array($log);
- }
- foreach($log as $tmp) {
- fwrite($fp, "<?PHP exit;?>\t".str_replace(array('<?', '?>'), '', $tmp)."\n");
- }
- fclose($fp);
- }
- }
复制代码 我看可以看到运行日志按月存储在各个分类(日志的分类大致有'illegal', 'rate', 'credit', 'mods', 'medal', 'ban', 'cp', 'magic', 'error', 'invite', 'payment', 'warn', 'crime', 'sendmail'几种)的文件下,每条记录的不同字段以制表符\t分隔;
这样就可以了
道勤主机提供365天*24小时全年全天无休、实时在线、零等待的售后技术支持。竭力为您免费处理您在使用道勤主机过程中所遇到的一切问题!
如果您是道勤主机用户,那么您可以通过QQ【792472177】、售后QQ【59133755】、旺旺【诠释意念】、微信:q792472177免费电话、后台提交工单这些方式联系道勤主机客服!
如果您不是我们的客户也没问题,点击页面最右边的企业QQ在线咨询图标联系我们并购买后,我们为您免费进行无缝搬家服务,让您享受网站零访问延迟的迁移到道勤主机的服务! |