feat: улучшена классификация логов PostgreSQL

- Добавлена поддержка LOG: логов PostgreSQL как INFO уровень (зеленый цвет)
- Добавлена поддержка FATAL: логов PostgreSQL как ERROR уровень (красный цвет)
- Исправлена классификация логов в формате [номер] LOG: и [номер] FATAL:
- Убраны отладочные console.log сообщения
- Обновлены Dockerfile и docker-compose.yml
- Перемещен start.sh в папку app/

Автор: Сергей Антропов
Сайт: https://devops.org.ru
This commit is contained in:
2025-09-01 14:22:25 +03:00
parent c40b2b312e
commit d697797577
4 changed files with 43 additions and 1 deletions

View File

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