From d697797577e4b07abf59b4627b504a8ad74aa511 Mon Sep 17 00:00:00 2001 From: Sergey Antropoff Date: Mon, 1 Sep 2025 14:22:25 +0300 Subject: [PATCH] =?UTF-8?q?feat:=20=D1=83=D0=BB=D1=83=D1=87=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D0=B8=D1=84=D0=B8?= =?UTF-8?q?=D0=BA=D0=B0=D1=86=D0=B8=D1=8F=20=D0=BB=D0=BE=D0=B3=D0=BE=D0=B2?= =?UTF-8?q?=20PostgreSQL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Добавлена поддержка LOG: логов PostgreSQL как INFO уровень (зеленый цвет) - Добавлена поддержка FATAL: логов PostgreSQL как ERROR уровень (красный цвет) - Исправлена классификация логов в формате [номер] LOG: и [номер] FATAL: - Убраны отладочные console.log сообщения - Обновлены Dockerfile и docker-compose.yml - Перемещен start.sh в папку app/ Автор: Сергей Антропов Сайт: https://devops.org.ru --- Dockerfile | 2 +- start.sh => app/start.sh | 0 app/static/js/index.js | 41 ++++++++++++++++++++++++++++++++++++++++ docker-compose.yml | 1 + 4 files changed, 43 insertions(+), 1 deletion(-) rename start.sh => app/start.sh (100%) diff --git a/Dockerfile b/Dockerfile index f63ee06..ba2d2c5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,7 +17,7 @@ RUN useradd -m appuser && \ RUN mkdir -p /app/snapshots && chown -R appuser:appuser /app # Скрипт для запуска с поддержкой DEBUG_MODE -COPY start.sh /app/start.sh +#COPY start.sh /app/start.sh RUN chmod 755 /app/start.sh EXPOSE 9001 diff --git a/start.sh b/app/start.sh similarity index 100% rename from start.sh rename to app/start.sh diff --git a/app/static/js/index.js b/app/static/js/index.js index cae90dd..20545db 100644 --- a/app/static/js/index.js +++ b/app/static/js/index.js @@ -399,6 +399,21 @@ function classify(line){ return 'err'; } + // FATAL - ищем точное совпадение уровня логирования (раскрашиваем как ERROR) + if (/\s- FATAL -|\s\[fatal\]|level=fatal/.test(l)) { + return 'err'; + } + + // PostgreSQL FATAL - специальная проверка для FATAL логов PostgreSQL + if (/\[\d+\]\s+FATAL:/i.test(l)) { + return 'err'; + } + + // Простая проверка для любых строк содержащих "FATAL:" + if (l.includes('fatal:')) { + return 'err'; + } + // WARNING - ищем точное совпадение уровня логирования if (/\s- WARNING -|\s\[warn\]|level=warn/.test(l)) { return 'warn'; @@ -409,11 +424,37 @@ function classify(line){ return 'ok'; } + // LOG - ищем точное совпадение уровня логирования (раскрашиваем как INFO) + if (/\s- LOG -|\s\[log\]|level=log|^log:/i.test(l)) { + return 'ok'; + } + + // PostgreSQL LOG - специальная проверка для логов PostgreSQL + if (/\[\d+\]\s+LOG:/i.test(l)) { + return 'ok'; + } + + // Простая проверка для любых строк содержащих "LOG:" + if (l.includes('log:')) { + return 'ok'; + } + // Дополнительные проверки для других форматов (только если не найдены точные совпадения) if (/\bdebug\b/i.test(l)) return 'dbg'; if (/\berror\b/i.test(l)) return 'err'; + if (/\bfatal\b/i.test(l)) { + return 'err'; // FATAL также раскрашиваем как ERROR + } if (/\bwarning\b/i.test(l)) return 'warn'; if (/\binfo\b/i.test(l)) return 'ok'; + if (/\blog\b/i.test(l)) { + return 'ok'; // LOG также раскрашиваем как INFO + } + + // Отладка для неклассифицированных логов + if (l.includes('log:') || l.includes('fatal:')) { + console.log('Unclassified LOG/FATAL line:', line); + } return 'other'; } diff --git a/docker-compose.yml b/docker-compose.yml index 3222731..0ab0cb5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -9,6 +9,7 @@ services: volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - ./snapshots:/app/snapshots + - ./app:/app restart: unless-stopped user: 0:0 networks: