insert([ 'level1' => 'error', 'message' => $msg, 'data1' => json_encode($data), ]); } static public function warning($msg, $data = []) { Log::warning($msg . ' ' . json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT)); } /** * 错误记录 * * @param string $msg 日志消息 * @param \Throwable $exception 异常对象 * @param array $data 额外数据 * @return void */ static public function exception($msg, \Throwable $exception, $data = []) { // 格式化堆栈跟踪,使其换行显示 $traceString = $exception->getTraceAsString(); $formattedTrace = str_replace('#', "\n #", $traceString); // 构建格式化的日志信息 $logMessage = $msg . "\n" . "异常信息: " . $exception->getMessage() . "\n" . "文件位置: " . $exception->getFile() . ":" . $exception->getLine() . "\n" . "堆栈跟踪:\n " . $formattedTrace; // 如果有额外数据,添加到日志中 if (!empty($data)) { $logMessage .= "\n额外数据: " . json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); } Log::error($logMessage); } static public function info($msg, $data = []) { Log::info($msg . ' ' . json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT)); } public static function clear_log() { // 获取当前日志文件路径 $logPath = storage_path('logs'); $currentDate = date('Y-m-d'); // Laravel 默认日志文件名格式 $logFiles = [ $logPath . '/laravel.log', $logPath . "/laravel-{$currentDate}.log", ]; $clearedCount = 0; foreach ($logFiles as $logFile) { if (file_exists($logFile)) { // 清空文件内容但保留文件 file_put_contents($logFile, ''); $clearedCount++; } } return $clearedCount; } }