37 lines
865 B
PHP
37 lines
865 B
PHP
<?php
|
|
|
|
namespace phpcommon;
|
|
|
|
class TGLog
|
|
{
|
|
private static function writeJsonToFile($filename, $json)
|
|
{
|
|
$fp = fopen($filename, 'a');
|
|
if (!$fp) {
|
|
return;
|
|
}
|
|
if (flock($fp, LOCK_EX)) {
|
|
fwrite($fp, json_encode($json) . "\n");
|
|
flock($fp, LOCK_UN);
|
|
}
|
|
fclose($fp);
|
|
}
|
|
|
|
public static function writeToLog($pro_name, $gameid, $json)
|
|
{
|
|
try {
|
|
$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'));
|
|
TGLog::writeJsonToFile($log_file_name, $json);
|
|
} catch (Exception $e){
|
|
|
|
}
|
|
}
|
|
|
|
}
|