瀏覽代碼

fix: 改进日志捕获,减少捕获失败.

wanggangzero 6 月之前
父節點
當前提交
4a80d35c2b
共有 3 個文件被更改,包括 5 次插入11 次删除
  1. 1 1
      Gameserver/App/Services/AppServer.php
  2. 1 1
      Gameserver/App/index.php
  3. 3 9
      Gameserver/App/util/CLog.php

+ 1 - 1
Gameserver/App/Services/AppServer.php

@@ -73,7 +73,7 @@ class AppServer {
         $resp->AfterProc();
 
         self::LogCmdMongo($resp);                                               # 向MongoDB写入操作日志
-        CLog::flush();                                                          # flush日志
+//        CLog::flush();                                                          # flush日志
         return true;
     }
 

+ 1 - 1
Gameserver/App/index.php

@@ -118,6 +118,7 @@ class Index {
                     . "\t" . substr(JsonUtil::encode($resp), 0, 30)             # 返回串(截断为30bytes)
                     . "..., about " . CommUtil::floatToInt($retLen / 1024) . "kbs.", "Index"); # 返回串长度
         }
+//        CLog::flush();
         return $ret;
     }
 
@@ -142,7 +143,6 @@ class Index {
         }
         $resp = Resp::err($err, $msg);
         $resp->AfterProc();
-        CLog::flush();
         exit(Index::OverPass($resp));                                           # 直接返回错误信息
     }
 }

+ 3 - 9
Gameserver/App/util/CLog.php

@@ -125,19 +125,13 @@ class CLog {
      */
     private static function makeLogMsg($msg, $tag = null) {
         global $zoneid;
-        $array = debug_backtrace();
-        while (isset($array[0]) && isset($array[0]['file']) && $array[0]['file'] == __FILE__) {
-            array_shift($array);
-        }
-        $row = $array[0];
         $server_addr = isset($_SERVER['SERVER_ADDR']) ? $_SERVER['SERVER_ADDR'] : "-";
         $client_addr = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : "-";
         $uid = empty(req()->uid) ? "-" : req()->uid;
         $str = "[" . date('Y-m-d H:i:s') . "][" . PHP_VERSION . "][" . $server_addr . "]<" . $client_addr . ">"  # 时间,PHP_ver,主机地址, 客户端来源ip地址
-                . "[$zoneid 区][$uid]"            #                                        #玩家所在分区, uid
-                . (isset($row['file']) ? CommUtil::str2UTF8(basename($row['file'])) : '-') # 所在文件名
-                . ":" . (isset($row['line']) ? $row['line'] : "???")#                      # 所在行
-                . "]" . (isset($tag) ? "[" . CommUtil::str2UTF8($tag) . "]" : "")          # 标签
+                . "[$zoneid 区][$uid]" . PHP_EOL      #                                    # 玩家所在分区, uid
+                . DebugHelper::get_call_stack(3, 8) #                                      # 代码调用堆栈
+                . (isset($tag) ? "[" . CommUtil::str2UTF8($tag) . "]" : "")                # 标签
                 . "=> " . var_export($msg, true)#                                          # 内容
                 . PHP_EOL;