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:
parent
c40b2b312e
commit
d697797577
@ -17,7 +17,7 @@ RUN useradd -m appuser && \
|
|||||||
RUN mkdir -p /app/snapshots && chown -R appuser:appuser /app
|
RUN mkdir -p /app/snapshots && chown -R appuser:appuser /app
|
||||||
|
|
||||||
# Скрипт для запуска с поддержкой DEBUG_MODE
|
# Скрипт для запуска с поддержкой DEBUG_MODE
|
||||||
COPY start.sh /app/start.sh
|
#COPY start.sh /app/start.sh
|
||||||
RUN chmod 755 /app/start.sh
|
RUN chmod 755 /app/start.sh
|
||||||
|
|
||||||
EXPOSE 9001
|
EXPOSE 9001
|
||||||
|
@ -399,6 +399,21 @@ function classify(line){
|
|||||||
return 'err';
|
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 - ищем точное совпадение уровня логирования
|
// WARNING - ищем точное совпадение уровня логирования
|
||||||
if (/\s- WARNING -|\s\[warn\]|level=warn/.test(l)) {
|
if (/\s- WARNING -|\s\[warn\]|level=warn/.test(l)) {
|
||||||
return 'warn';
|
return 'warn';
|
||||||
@ -409,11 +424,37 @@ function classify(line){
|
|||||||
return 'ok';
|
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 (/\bdebug\b/i.test(l)) return 'dbg';
|
||||||
if (/\berror\b/i.test(l)) return 'err';
|
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 (/\bwarning\b/i.test(l)) return 'warn';
|
||||||
if (/\binfo\b/i.test(l)) return 'ok';
|
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';
|
return 'other';
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
- ./snapshots:/app/snapshots
|
- ./snapshots:/app/snapshots
|
||||||
|
- ./app:/app
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
user: 0:0
|
user: 0:0
|
||||||
networks:
|
networks:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user