chore: 增强日志诊断上下文读取

这个提交包含在:
wikiboss
2026-09-17 16:34:04 +08:00
父节点 9e758a8994
当前提交 72d74ddce6

查看文件

@@ -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;
}