diff --git a/webapp/classes/GameLog.php b/webapp/classes/GameLog.php index eb710dd..71a78d8 100644 --- a/webapp/classes/GameLog.php +++ b/webapp/classes/GameLog.php @@ -6,8 +6,33 @@ use phpcommon; class GameLog { + private static function writeStrToFile($filename, $str) + { + $fp = fopen($filename, 'a'); + if (!$fp) { + return; + } + if (flock($fp, LOCK_EX)) { + fwrite($fp, $str . '\n'); + flock($fp, LOCK_UN); + } + fclose($fp); + } + + private static function writeToLog($pro_name, $gameid, $str) + { + $log_dir = "/data/logs/$pro_name/$gameid/upload/"; + $log_file_name_fmt = $log_dir . 'log_000%d_%s.log'; + if (!is_dir($log_dir)) { + mkdir($log_dir, 0766, true); + } + + $log_file_name = sprintf($log_file_name_fmt, posix_getppid(), date('YmdH')); + GameLog::writeStrToFile($log_file_name, $str); + } + public static function Log($content) { - phpcommon\TGLog::writeToLog('game2004api', 2004, $content); + GameLog::writeToLog('game2004api', 2004, $content); } } diff --git a/webapp/controller/SoloController.class.php b/webapp/controller/SoloController.class.php index a73ac02..ff9fe79 100644 --- a/webapp/controller/SoloController.class.php +++ b/webapp/controller/SoloController.class.php @@ -5,7 +5,7 @@ use classes\GameLog; require 'classes/Quest.php'; require 'classes/AddReward.php'; require 'classes/Privilege.php'; -require 'calsses/GameLog.php'; +require 'classes/GameLog.php'; require_once 'metatable/item.php'; require_once 'metatable/parameter.php'; require_once 'metatable/drop.php'; @@ -432,12 +432,7 @@ class SoloController 'medals' => $solorow['medals'] - $medalcost, )); - GameLog::Log(array( - 'medal cost: 1', - $account_id, - $level, - $medalcost, - )); + GameLog::Log('medal cost: 1,'.$account_id.','.$level.','.$medalcost); } // 战斗结算 @@ -1267,12 +1262,7 @@ class SoloController error_log($key . ':' . $infostr); } } else { - GameLog::Log(array( - 'medal cost: 2', - $account_id, - $level, - $medalcost, - )); + GameLog::Log('medal cost: 2,'.$account_id.','.$level.','.$medalcost); } $quest = new classes\Quest();