From 5c8388052128fa5b496bde755d9bc9bcc71e3770 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mr=C2=B7x?= Date: Fri, 5 Mar 2021 14:58:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- System/Error/Logger.php | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/System/Error/Logger.php b/System/Error/Logger.php index 62da59e8..1cf29f28 100644 --- a/System/Error/Logger.php +++ b/System/Error/Logger.php @@ -160,14 +160,21 @@ class Logger extends Component if (empty($messages)) { return; } - $logFile = '[' . date('Y-m-d H:i:s') . ']:' . PHP_EOL . $messages . PHP_EOL; - /** @var Process $logger */ - $logger = Snowflake::app()->get(LoggerProcess::class, false); - if (empty($logger)) { - return; + $fileName = 'server-' . date('Y-m-d') . '.log'; + $dirName = 'log/' . (empty($method) ? 'app' : $method); + $logFile = '[' . date('Y-m-d H:i:s') . ']:' . PHP_EOL . $messages . PHP_EOL; + Snowflake::writeFile(storage($fileName, $dirName), $logFile, FILE_APPEND); + + $files = glob(storage(null, $dirName) . '/*'); + if (count($files) >= 15) { + $command = 'find ' . storage(null, $dirName) . '/ -mtime +15 -name "*.log" -exec rm -rf {} \;'; + if (Context::inCoroutine()) { + Coroutine\System::exec($command); + } else { + \shell_exec($command); + } } - $logger->write(Json::encode([$logFile, $method])); } /**