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
|
||||
|
||||
# Скрипт для запуска с поддержкой DEBUG_MODE
|
||||
COPY start.sh /app/start.sh
|
||||
#COPY start.sh /app/start.sh
|
||||
RUN chmod 755 /app/start.sh
|
||||
|
||||
EXPOSE 9001
|
||||
|
@ -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';
|
||||
}
|
||||
|
@ -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:
|
||||
|
Loading…
x
Reference in New Issue
Block a user