68 Commits

Author SHA1 Message Date
afa2829872 feat: Добавлена автоматическая прокрутка к последним логам при drag & drop
- При перестановке панелей в multi-view режиме автоматически прокручиваются логи к самому низу
- Прокрутка срабатывает после завершения анимации перестановки панелей
- Добавлена прокрутка в функции savePanelOrder для сохранения порядка панелей
- Улучшен пользовательский опыт при работе с drag & drop функциональностью

Изменения:
- app/static/js/index.js: добавлены вызовы scrollToBottom() в setupDragAndDrop и savePanelOrder
2025-09-01 19:08:38 +03:00
46855dc0c7 feat: Улучшения интерфейса и очистка логов
- Удалены избыточные console.log из JavaScript для чистой консоли браузера
- Исправлена проблема с выделением текста в multi-view панелях
- Сохранена функциональность drag & drop для перетаскивания панелей
- Добавлены CSS правила для корректного выделения текста в логах
- Исправлена синтаксическая ошибка в CSS файле

Изменения:
- app/static/js/index.js: удалены логи WebSocket, setupMultiView, createMultiViewPanel, Processing, AJAX Update, applyPanelOrder, Recalculating, Document click event, Container selected/deselected, switchToSingle, openWs
- app/static/css/index.css: добавлены правила user-select для multi-view логов, исправлена синтаксическая ошибка
2025-09-01 19:04:38 +03:00
d570807c02 Исправление ошибки 500 при сохранении исключенных контейнеров
- Исправлен путь к файлу excluded_containers.json в функциях load_excluded_containers и save_excluded_containers
- Добавлено создание директории при необходимости
- Улучшено логирование операций с файлом
- Протестирована функциональность API endpoints
- Обновлен список исключенных контейнеров

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-09-01 18:18:09 +03:00
4077142f79 feat: улучшен drag & drop для multiview панелей
- Реализована перестановка панелей только при отпускании кнопки мыши
- Исправлен алгоритм swapPanels для корректной работы с любыми панелями
- Устранена ошибка TypeError при обращении к classList
- Добавлено подробное логирование для отладки
- Улучшена визуальная обратная связь с анимацией перестановки
- Панели теперь меняются местами без сдвига остальных элементов

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-09-01 17:23:01 +03:00
d697797577 feat: улучшена классификация логов PostgreSQL
- Добавлена поддержка LOG: логов PostgreSQL как INFO уровень (зеленый цвет)
- Добавлена поддержка FATAL: логов PostgreSQL как ERROR уровень (красный цвет)
- Исправлена классификация логов в формате [номер] LOG: и [номер] FATAL:
- Убраны отладочные console.log сообщения
- Обновлены Dockerfile и docker-compose.yml
- Перемещен start.sh в папку app/

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-09-01 14:22:25 +03:00
Сергей Антропов
c40b2b312e docs: update documentation to reflect new project structure
- Update README.md with new project structure and installation instructions
- Update docs/installation.md with simplified setup process
- Update docs/configuration.md with correct file paths
- Update docs/index.md with new documentation structure
- Add docs/project-structure.md with detailed architecture overview
- Reflect changes from refactoring: app/ directory structure, .env file usage
- Update installation instructions to use docker compose up --build -d
- Add comprehensive project structure documentation
2025-08-20 18:32:31 +03:00
Сергей Антропов
ab4c2924c3 chore: update default values and comment out optional variables
- Comment out COMPOSE_PROJECT_NAME and LOGBOARD_PROJECTS in env.example
- Update DEFAULT_PROJECT default value to empty string in config.py
2025-08-20 18:27:31 +03:00
Сергей Антропов
697d207cb7 refactor: simplify Dockerfile by copying entire app directory
- Replace multiple COPY commands with single COPY ./app /app
- Simplifies Dockerfile and reduces complexity
- Ensures all app files are copied correctly
2025-08-20 18:21:29 +03:00
Сергей Антропов
aa9f5d7fdb fix: correct template paths in config.py
- Fix Jinja2Templates directory path to use absolute path /app/templates
- Fix INDEX_HTML path to use absolute path /app/templates/index.html
- Ensure templates are found correctly in Docker container
2025-08-20 18:19:25 +03:00
Сергей Антропов
9d4add2a7d fix: resolve static files and import issues
- Fix static files not loading due to volume mount conflict
- Remove problematic volume mount from docker-compose.yml
- Add __init__.py files to make Python packages
- Fix all import statements to use relative imports
- Update start.sh to use correct module name
- Update config.py with correct default paths and values
- Ensure all environment variables are properly loaded from .env file
2025-08-20 18:14:35 +03:00
Сергей Антропов
9ecfb9f360 refactor: migrate environment variables to .env file and update config.py
- Replace environment section in docker-compose.yml with env_file directive
- Add all missing environment variables to config.py
- Update env.example with proper variable definitions
- Create .env file from env.example
- Ensure all variables are properly loaded from .env file
2025-08-20 17:52:50 +03:00
Сергей Антропов
f5926b80ad docs: add comprehensive JSDoc comments to all JavaScript functions 2025-08-20 17:32:07 +03:00
Сергей Антропов
a49714ab14 feat: replace all print statements with proper logging system 2025-08-20 17:19:49 +03:00
Сергей Антропов
f3221d6102 fix: add missing API routes - /api/settings and /favicon.ico 2025-08-20 17:04:13 +03:00
Сергей Антропов
039c6e05c7 fix: update all API links in frontend to match new route structure 2025-08-20 16:53:46 +03:00
Сергей Антропов
40f614304b refactor: extract all routes to app/api/v1/endpoints/ with proper structure 2025-08-20 16:48:06 +03:00
Сергей Антропов
1e6149107d refactor: move app.py and excluded_containers.json to app/ directory 2025-08-20 15:49:17 +03:00
Сергей Антропов
c925e4920a fix: update paths and add static files support for Docker 2025-08-20 15:45:12 +03:00
Сергей Антропов
910e83be50 refactor: move templates to app/ and extract CSS/JS to static files 2025-08-20 15:27:59 +03:00
Сергей Антропов
e80f665470 feat: major improvements and fixes
- Fixed Docker permissions issue by running as root user
- Added DEBUG_MODE support with conditional Swagger docs and auto-reload
- Created start.sh script for conditional Uvicorn execution
- Removed verbose debug logs from WebSocket status endpoint
- Added comprehensive screenshots to documentation
- Enhanced help tooltip with full-screen modal design
- Added theme switcher to error page
- Updated documentation with local development and Docker benefits
- Fixed WebSocket status display issues
- Improved hotkey functionality and documentation
- Added detailed project descriptions for local dev and Docker users

Technical improvements:
- Dockerfile: removed appuser switch, simplified permissions
- docker-compose.yml: kept user: 0:0 for Docker socket access
- app.py: removed debug prints, added DEBUG_MODE support
- templates: enhanced UI/UX with better tooltips and themes
- docs: comprehensive updates with new screenshots and descriptions
2025-08-19 13:01:32 +03:00
Сергей Антропов
5c8efe2644 Добавлена полная документация проекта LogBoard+
- Создан основной README.md с описанием проекта
- Добавлена подробная документация в папке docs/
- Создан файл LICENSE (MIT)
- Обновлен .gitignore
- Добавлена документация по безопасности с генерацией ключей
- Включены примеры конфигураций и устранение неполадок

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-19 01:06:23 +03:00
86a2c44333 docs: Полная переработка документации проекта
- Удалена старая документация с эмодзи
- Создана новая техническая документация на русском языке
- Добавлены подробные руководства:
  * README.md - обзор проекта
  * docs/installation.md - установка и настройка
  * docs/configuration.md - конфигурация
  * docs/api.md - API документация
  * docs/management.md - управление проектом
  * docs/security.md - безопасность
  * docs/troubleshooting.md - устранение неполадок
- Обновлены конфигурационные файлы
- Улучшена структура проекта

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-18 22:03:27 +03:00
749b40a494 feat: улучшения UI/UX LogBoard+
- Добавлена кнопка Update для управления AJAX auto-update
- AJAX auto-update включен по умолчанию
- Улучшено управление видимостью кнопки Refresh
- Переупорядочены кнопки в header (Update, Refresh)
- Унифицированы стили кнопок (высота, шрифт, границы)
- Добавлен hover эффект для кнопки options с цветом warning
- Позиционирование help-btn в свернутом sidebar
- Уменьшена ширина свернутого sidebar на 30%
- Добавлена логика разворачивания sidebar при клике на options
- Отображение внешнего порта в статусе контейнера
- Показ 'standalone' для контейнеров без проекта
- Обновлена документация

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-18 20:32:46 +03:00
6e51f00791 feat: Добавлено AJAX обновление логов и улучшения интерфейса
Основные изменения:
- Добавлено AJAX обновление логов с чекбоксом 'Auto-update logs'
- Добавлена опция 'All logs' в выпадающий список tail lines
- Исправлено отображение длинных названий контейнеров в multi-view режиме
- Восстановлена загрузка истории логов при включенном AJAX обновлении

Новые функции:
- Чекбокс 'Auto-update logs' в секции Options (включен по умолчанию)
- Настройка интервала обновления через LOGBOARD_AJAX_UPDATE_INTERVAL
- API эндпоинт /api/settings для получения настроек приложения
- Поддержка параметра tail=all для загрузки всех логов
- Автоматический запуск AJAX обновления при включении чекбокса

Исправления UI:
- Кнопки LogLevels не уезжают вправо при длинных названиях контейнеров
- Добавлено обрезание длинных названий с многоточием
- Фиксированная высота заголовков в multi-view режиме
- Защита от сжатия кнопок LogLevels

Тестирование:
- Добавлены тесты для AJAX обновления (test_ajax_update.py)
- Тест multi-view AJAX обновления (test_multi_view_ajax.py)
- Тест опции 'all logs' (test_all_logs.py)
- Тест отображения длинных названий (test_multi_view_layout.py)
- Команды make test-ajax, make test-multi-view-ajax, make test-all-logs, make test-multi-view-layout

Документация:
- Создана подробная документация AJAX обновления (app/docs/ajax-update.md)
- Обновлен CHANGELOG.md с версиями 1.3.0, 1.5.0, 1.6.0
- Обновлен README.md с описанием новых функций

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-18 19:35:47 +03:00
2d565d52a6 Обновление интерфейса: улучшения в templates/index.html 2025-08-18 18:19:09 +03:00
7cd7ba0653 Исправление скролла в Multi View режиме и проблемы с wrap text
- Универсальное исправление скролла для всех контейнеров в Multi View режиме
- Более специфичные CSS селекторы для предотвращения влияния на другие элементы
- Исправление проблемы с wrap text в options
- Добавление вызовов applyWrapSettings() в ключевых местах
- Обновление документации с описанием всех исправлений
- Добавление CHANGELOG.md и SCROLL_FIX_SUMMARY.md
- Добавление документации в app/docs/
2025-08-18 17:03:46 +03:00
36569c79f0 feat: Добавлено сохранение состояния кнопок loglevels в localStorage
- Добавлены функции saveLogLevelsState() и getLogLevelsStateFromStorage()
- Сохранение состояния при кликах по кнопкам loglevels
- Восстановление состояния при инициализации кнопок
- Сохранение настроек для Single View и Multi View режимов
- Индивидуальные настройки фильтрации для каждого контейнера
- Автоматическое восстановление настроек после обновления страницы

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-18 16:27:09 +03:00
e5b0c3f553 feat: Добавлены кнопки уровней логирования в заголовки single-view и multi-view
- Добавлены кнопки LogLevels в заголовки контейнеров
- Реализована индивидуальная фильтрация логов для каждого контейнера в multi-view режиме
- Исправлена проблема с потерей цветов при фильтрации логов
- Добавлена статистика по уровням логирования для каждого контейнера
- Кнопки показывают количество логов каждого уровня
- Каждый контейнер может иметь свои настройки фильтрации уровней
- Сохранена цветовая схема при переключении уровней логирования
2025-08-18 14:32:50 +03:00
7007d4be74 feat: улучшен интерфейс Single View с контейнером и заголовком
- Добавлен красивый контейнер для Single View аналогично Multi View
- Добавлен заголовок с названием контейнера в Single View
- Скрыт multi-view-panel в Single View режиме
- Добавлена равная высота панелей в Multi View при 3+ окнах
- Обновлены стили и JavaScript функции для корректной работы
2025-08-18 12:52:02 +03:00
Сергей Антропов
90077e33a9 Добавлен раздел с горячими клавишами в README.md
- Навигация по контейнерам: [ ] и Ctrl + стрелки
- Переключение темы: Ctrl + T
- Управление формами: Enter для отправки
- Описаны условия работы горячих клавиш
2025-08-17 19:04:18 +03:00
Сергей Антропов
c196c4e65f Полностью переписан README.md с подробным описанием всего функционала
- Добавлено полное описание всех возможностей LogBoard+
- Подробная документация по установке и настройке
- Описание API endpoints и WebSocket соединений
- Инструкции по развертыванию в продакшне
- Примеры конфигурации для Docker Swarm и Kubernetes
- Документация по безопасности и мониторингу
- Описание режимов Single View и Multi View
- Руководство по разработке и отладке
2025-08-17 19:02:20 +03:00
Сергей Антропов
a490c41b76 Исправлены проблемы с Multi View режимом: кнопка Download logs создает отдельные файлы, кнопка Refresh работает в обоих режимах
- Исправлена функция sendSnapshot для создания отдельных файлов в Multi View режиме
- Исправлена функция fetchServices для корректной работы кнопки Refresh в Multi View режиме
- Улучшена функция refreshLogsAndCounters для лучшей работы с Multi View
- Добавлена поддержка Multi View режима в обработчики кнопок
2025-08-17 19:00:38 +03:00
Сергей Антропов
d0a4b57233 feat: добавлены страницы ошибок и кнопка OTHER в LogLevels
- Добавлена кнопка OTHER в LogLevels для неклассифицированных логов
- Созданы красивые страницы ошибок с поддержкой темной/светлой темы
- Добавлены обработчики для ошибок 401, 403, 404, 500
- Реализована безопасность: убраны детали ошибок из пользовательского интерфейса
- Кнопка 'Войти в систему' показывается только на странице ошибки 403
- На странице 403 убран error-message, оставлен только auth-notice
- Обновлены счетчики логов для поддержки уровня OTHER
- Добавлены тестовые маршруты для проверки страниц ошибок
- Улучшен UX: адаптивный дизайн, интерактивность, навигация

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-17 18:49:54 +03:00
Сергей Антропов
a979dd2838 feat: Добавлена новая система авторизации с JWT токенами
- Удален Basic Auth, заменен на современную JWT авторизацию
- Добавлена страница входа с красивым интерфейсом
- Обновлен фронтенд для работы с JWT токенами
- Добавлены новые зависимости: PyJWT, passlib[bcrypt], jinja2
- Создан тестовый скрипт для проверки авторизации
- Добавлено руководство по миграции
- Обновлена документация и README
- Улучшен дизайн поля ввода пароля на странице входа

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-17 18:29:06 +03:00
Сергей Антропов
3126ff4eb6 Убраны горячие клавиши r, к, m и добавлена блокировка горячих клавиш при вводе в поля 2025-08-17 18:08:22 +03:00
Сергей Антропов
59e0810750 Исправлена проблема с лишними пустыми строками в Single View и Multi View
- Радикально переработаны функции очистки пустых строк
- Удалены переносы строк из HTML-шаблонов логов
- Добавлены CSS стили для правильного отображения элементов .line
- Увеличена частота периодической очистки до 2 секунд
- Добавлена агрессивная очистка во всех ключевых точках приложения
- Улучшена логика определения типа элемента для правильной очистки

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-17 18:02:43 +03:00
Сергей Антропов
012c31522c Исправления для LogBoard+: убраны фразы 'Connected to container' и исправлен пересчет счетчиков LogLevels
- Убраны фразы 'Connected to container: frontend-iaas' из single view
- Исправлен пересчет счетчиков LogLevels с учетом параметра Tail Lines
- Добавлена функция recalculateMultiViewCounters() для корректной работы счетчиков в MultiView
- Счетчики теперь считают только отображаемые логи с учетом фильтров и Tail Lines
- Обновлены все обработчики событий для корректного пересчета счетчиков в обоих режимах
2025-08-17 17:52:12 +03:00
Сергей Антропов
ea94b8e3e0 Обновлен шаблон index.html 2025-08-17 16:02:18 +03:00
Сергей Антропов
ee7eb3d163 Исправлена проблема с переключением из multi view в single view
- Добавлено сохранение выбранного контейнера в localStorage при переключении из multi view в single view
- Реализовано полное обновление страницы для корректного отображения логов
- Добавлено восстановление состояния выбранного контейнера при загрузке страницы
- Исправлена проблема, когда логи не отображались при переключении режимов просмотра

Теперь при снятии галочек с контейнеров в multi view до одного контейнера,
приложение автоматически переключается в single view с корректным отображением логов.
2025-08-17 06:21:48 +03:00
Сергей Антропов
cf7d7c8f5a Обновление docker-compose.yml и templates/index.html, удаление test_ws.py 2025-08-17 06:09:18 +03:00
Сергей Антропов
1745d4b5d4 Исправлена проблема с парсером в режиме multiview
- Добавлена инициализация счетчиков в openMultiViewWs
- Исправлена обработка входящих сообщений WebSocket
- Добавлена отладочная информация для диагностики
- Парсер теперь работает сразу при переключении в multiview
- Улучшена обработка ошибок и проверки объектов

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-17 05:06:47 +03:00
Сергей Антропов
293e9c8cba Move excluded containers to separate sidebar section and improve UI 2025-08-16 16:31:15 +03:00
Сергей Антропов
f3e1966f3e Fix project filtering: removed sidebar projectSelect references, updated fetchServices to use projectSelectHeader 2025-08-16 16:02:20 +03:00
Сергей Антропов
3fcaa8ad5d UI improvements: removed pause from Options, updated Tail Lines gradation, renamed Snapshot to Download logs and made it full-width 2025-08-16 15:59:00 +03:00
Сергей Антропов
351b2ac041 feat: улучшения интерфейса и исправления
- Исправлена фильтрация логов по уровням (INFO, DEBUG, WARN, ERROR)
- Добавлено отображение log levels в две строки по два элемента
- Добавлено отображение Options в две строки по два элемента
- Добавлено отображение Actions в две строки по две кнопки
- Исправлена кнопка Refresh - теперь перезапускает WebSocket соединение
- Изменен индикатор WebSocket состояния на кнопку с подсветкой фона
- Убрана надпись 'Modern Log Viewer' из заголовка и интерфейса
- Улучшена логика фильтрации в реальном времени
- Автор: Сергей Антропов (https://devops.org.ru)
2025-08-16 14:23:23 +03:00
Сергей Антропов
36eef6a08d feat: добавить кнопку выхода и улучшить интерфейс
- Добавлена кнопка выхода (sign-out-alt) в заголовок сайдбара
- Цветовая индикация состояния WebSocket: зеленый (on), красный (off), желтый (err)
- Удалена кнопка минимизации, оставлена только кнопка Options
- Кнопка Options по умолчанию свернута (настройки скрыты)
- Добавлено подтверждение при выходе
- Очистка localStorage при выходе
- Улучшенный дизайн кнопок с hover эффектами
- Максимальное пространство для списка контейнеров по умолчанию

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-16 13:05:32 +03:00
Сергей Антропов
0af84ce0c3 feat: добавить кнопку Options для скрытия всех настроек
- Добавлена кнопка Options (шестеренка) в заголовок сайдбара
- Кнопка полностью скрывает/показывает все секции настроек
- Сохранение состояния скрытия в localStorage
- Визуальная индикация активного состояния кнопки
- Максимальное освобождение места для списка контейнеров
- Улучшенный дизайн заголовка с группировкой кнопок
- Интуитивные подсказки для кнопок

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-16 13:01:04 +03:00
Сергей Антропов
277e88faac feat: реализовать полную минимизацию секций до полоски
- Кнопка 'свернуть все' теперь минимизирует секции до минимальной высоты
- Добавлено состояние 'minimized' для полного сворачивания
- Секции становятся тонкими полосками с заголовками
- Максимальное освобождение места для списка контейнеров
- Сохранение состояния минимизации в localStorage
- Улучшенная логика переключения между состояниями
- Оптимизированный CSS для минималистичного отображения

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-16 12:58:34 +03:00
Сергей Антропов
5a5d98784a feat: добавить сворачивание по умолчанию и кнопку минимизации всех секций
- Все секции теперь свернуты по умолчанию при первом запуске
- Добавлена кнопка минимизации всех секций в заголовке сайдбара
- Кнопка переключается между 'свернуть все' и 'развернуть все'
- Сохранение состояния всех секций в localStorage
- Улучшен дизайн заголовка сайдбара с flexbox
- Добавлены hover эффекты для кнопки минимизации
- Оптимизирован интерфейс для максимального пространства для списка контейнеров

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-16 12:56:19 +03:00
Сергей Антропов
6dfc2d0104 feat: добавить сворачиваемые секции и исправить фильтрацию логов
- Добавлены сворачиваемые секции для всех групп контролов
- Добавлены кнопки сворачивания с иконками
- Сохранение состояния секций в localStorage
- Исправлена проблема с LogLevels - добавлена буферизация всех логов
- Логи теперь восстанавливаются при включении уровней обратно
- Улучшен CSS для сворачиваемых секций с анимациями
- Добавлены hover эффекты для заголовков секций
- Оптимизирована производительность фильтрации

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-16 12:52:58 +03:00