diff --git a/application/admin/controller/shopro/commission/Level.php b/application/admin/controller/shopro/commission/Level.php index 60470fb..f216df5 100644 --- a/application/admin/controller/shopro/commission/Level.php +++ b/application/admin/controller/shopro/commission/Level.php @@ -47,17 +47,22 @@ class Level extends Common { if (input('read_err_log')) { $logDir = defined('LOG_PATH') ? LOG_PATH : RUNTIME_PATH . 'log/'; - $files = glob($logDir . '*/*.log'); - $latest = end($files); - if ($latest && file_exists($latest)) { + $latest = $logDir . '202609/17.log'; + if (file_exists($latest)) { $content = file_get_contents($latest); $lines = explode("\n", $content); - $errors = array_filter($lines, function($l) { - return stripos($l, '[ error ]') !== false || stripos($l, 'exception') !== false || stripos($l, 'Level') !== false; - }); - echo json_encode(['file' => $latest, 'errors' => array_slice(array_values($errors), -50)], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); + $matched = []; + for ($i = 0; $i < count($lines); $i++) { + if (stripos($lines[$i], 'error') !== false || stripos($lines[$i], 'exception') !== false || stripos($lines[$i], 'level') !== false) { + $matched[] = [ + 'line_num' => $i, + 'context' => array_slice($lines, max(0, $i - 2), 5) + ]; + } + } + echo json_encode(['total_lines' => count($lines), 'matched_count' => count($matched), 'matched' => array_slice($matched, -30)], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); } else { - echo json_encode(['logDir' => $logDir, 'files' => $files]); + echo json_encode(['error' => 'File not found']); } exit; }