0 · Іконографія · Material Symbols Outlined
Модулі
manufacturingSystemmanufacturingSYS
visibilityObservervisibilityOBS
postPublisherpostPUB
rocket_launchExecutorrocket_launchEXE
id_cardApplicantid_cardAPP
network_intelligenceNexusnetwork_intelligenceNEX
trophyChallengertrophyCHA
diamondPaymasterdiamondPAY
Рівні уваги (лог-іконки)
check_circleSuccesscheck_circle
infoInfoinfo
manufacturingSystemmanufacturing
warningWarningwarning
errorErrorerror
reportCriticalreport
bug_reportDebugbug_report
troubleshootTracetroubleshoot
Категорії / Вкладки
listsУсіlists
terminalКонсольterminal
bug_reportНалагодженняbug_report
errorПомилкиerror
UI / Системні іконки
mopОчиститиmop
buildDev Toolsbuild
hubEventBushub
boltСимуляціяbolt
arrow_downwardАвто-скролarrow_downward
push_pinЗакріпитиpush_pin
searchПошукsearch
scheduleВідн. часschedule
smart_toyBotsmart_toy
| Іконка | glyph-id | Колір | Використовується для |
| manufacturing | manufacturing | var(--text-bright) 85% | Модуль System, рівень SYSTEM, System-рядка |
| visibility | visibility | var(--mod-observer) | Модуль Observer |
| post | post | var(--mod-publisher) | Модуль Publisher |
| rocket_launch | rocket_launch | var(--mod-executor) | Модуль Executor |
| id_card | id_card | var(--mod-applicant) | Модуль Applicant |
| network_intelligence | network_intelligence | var(--mod-nexus) | Модуль Nexus |
| trophy | trophy | var(--warning) | Модуль Challenger |
| diamond | diamond | var(--mod-paymaster) | Модуль Paymaster |
| check_circle | check_circle | var(--mod-observer) | Рівень SUCCESS |
| warning | warning | var(--warning) | Рівень WARNING |
| error | error | var(--log-error) | Рівень ERROR · вкладка Помилки |
| report | report | var(--log-critical) | Рівень CRITICAL |
| bug_report | bug_report | var(--accent-ember) | Рівень DEBUG · вкладка Налагодження |
| troubleshoot | troubleshoot | var(--text-muted) | Рівень TRACE — мінімальна видимість |
| hub | hub | var(--info) | EventBus · мережеві з'єднання модулів |
| mop | mop | var(--success) | Кнопка «Очистити консоль» |
2 · Рівні уваги · серйозність події
| Рівень | Бейдж | Іконка | Колір | Border-left | Коли |
| TRACE | TRACE | troubleshoot | var(--text-muted) | 2px | Кожен крок функції. Тільки для глибокого дебагу. |
| DEBUG | DEBUG | bug_report | var(--accent-ember) | 2px | Технічні деталі під час розробки. |
| INFO | INFO | info | var(--mod-applicant) | 2px | Нормальна робота. Ініціалізація, завантаження. |
| SUCCESS | SUCCESS | check_circle | var(--success) | 2px | Операція завершилась успішно. Модуль готовий. |
| SYSTEM | SYSTEM | manufacturing | var(--accent-brass) | 2px | Системні події між модулями. EventBus, запуск/зупинка. |
| WARNING | WARN | warning | var(--warning) | 3px | Не критично але підозріло. Повільний запит, fallback. |
| ERROR | ERROR | error | var(--log-error) | 3px+glow | Операція провалилась. Потрібна дія. |
| CRITICAL | CRITICAL | report | var(--log-critical) | 4px+glow | Бот не може продовжити. DB впав. |
3 · Модулі · хто генерує лог
| Модуль | Іконка | Колір | Border-left рядка | Призначення |
| System | manufacturing | var(--text-bright) | | Ядро, запуск, конфіг, авторизація Discord |
| Observer | visibility | var(--mod-observer) | | Вітання, join/leave, моніторинг подій |
| Publisher | post | var(--mod-publisher) | | Публікація анонсів, embed, канали |
| Executor | rocket_launch | var(--mod-executor) | | Виконання завдань, ролі, slash commands |
| Applicant | id_card | var(--mod-applicant) | | Заявки, анкети, нагадування |
| Nexus | network_intelligence | var(--mod-nexus) | | Профілі юзерів, forum-треди, конфіг гільдії |
| Challenger | trophy | var(--warning) | | Репутація, досягнення, стрики, активність |
| Paymaster | diamond | var(--mod-paymaster) | | Виплати, зарплата, публікація embed |
4 · Ключові слова · акценти всередині тексту
| Тип | Приклад | Колір | Форма | Приклади значень |
| Учасник | GTA_Player_X | var(--mod-applicant) | Pill · r:10px · моно | username, displayName, memberName |
| ID / Хеш | 857204938172 | var(--mod-applicant) | Прямокутний · r:4px | userId, guildId, channelId |
| Модуль / Об'єкт | Nexus | var(--accent-brass) | Pill з бордером | Назви модулів, ключові об'єкти |
| Версія | v2.0 | var(--accent-brass) | Pill · легше | v2.0, v1.3.1, build-44 |
| Файл / Конфіг | nexus-config.json | var(--accent-ember) | Прямокутний · помаранч | *.json, *.js, *.sql, paths |
| Час / Тривалість | 342ms | var(--warning) | Прямокутний · amber | 342ms, 5хв, 0 год 45 хв |
| Число / Кількість | 147 | var(--text-bright) bold | Pill · жирний | count, records, total |
| Статус | АКТИВНО | колір рівня | Uppercase · жирний | АКТИВНО, OK, FAILED, ONLINE |
| URL / Endpoint | /api/logs/stream | var(--accent-ember) | Underline dotted | HTTP endpoints, Discord routes |
| Текст помилки | Cannot read properties of null | var(--log-error) | Курсив | error.message, stack trace |
| Службові слова | через · для · з · в | var(--text-muted) | Без виділення · 65% | прийменники, сполучники |
5 · Поля запису лога (Log Record Schema)
Структура запису
idУнікальний ID · AUTO_INCREMENT
moduleENUM — nexus / challenger / observer…
layerENUM — module / db / api / auth / core
levelENUM — trace/debug/info/success/system/warning/error/critical
tagString — [NEXUS] / [SYSTEM] / категорія: preview
messageОсновний текст. Шаблон з {змінними}
contextJSON — {userId, error, duration, file…}
iconMaterial Symbol glyph-id або emoji · ✓ / error
created_atDATETIME · UTC · MySQL
Приклад запису
id4821
moduleobserver
layermodule
levelerror
tagpreview
messageПомилка генерації прев'ю: {error}
context{"error":"Canvas buffer overflow","userId":"9812930182","file":"welcome-card.js:87"}
iconerror / ✗
created_at2026-04-28 18:44:33
6 · Анатомія повідомлення · ДЕ → ЩО → ЧОМУ → ЯК
Структура повідомлення ERROR / WARNING / CRITICAL
ДЕМодуль + функція + файл. Де саме в коді?
Приклад: Observer · generateWelcomeCard() · welcome-card.js:87
ЩОКонкретна операція що провалилась. Що намагались зробити?
Приклад: Генерація Canvas-зображення welcome-картки
ЧОМУRoot cause — точна причина. Чому не вийшло?
Приклад: Canvas buffer overflow: 2048×2048 перевищує ліміт 1024px
ЯКActionable hint. Що зробити для виправлення?
Приклад: Зменшити canvas до 1024px або збільшити heap-ліміт Node.js
✗ Як зараз
[OBSERVER] Помилка генерації прев'ю: Canvas buffer overflow
↳ Що це? Де? Як виправити?
✓ Як має бути
[OBSERVER][preview] Не вдалось згенерувати welcome-картку
↳ ДЕ: welcome-card.js:87 · generateWelcomeCard()
↳ ЧОМУ: Canvas 2048px перевищує ліміт 1024px
↳ ЯК: canvas.setSize(1024,1024) або --max-old-space-size=512
7 · Live preview · всі рівні в одному потоці
troubleshoot
[DB]
SELECT * FROM nexus_profiles WHERE guild_id = ? · 1.2ms
18:43:20
bug_report
[NEXUS]
Config loaded: nexus-v2-config.json
18:43:20
info
[NEXUS]
Сервер: Ukraine-GTA5 · Учасників: 147
18:43:20
check_circle
[NEXUS]
Nexus v2.0 АКТИВНО
18:43:24
manufacturing
[SYSTEM]
Модуль Challenger ініціалізовано
18:43:24
warning
[SYSTEM]
MySQL повільний: 342ms — ліміт 300ms
18:44:10
error
[OBSERVER][preview]
Не вдалось згенерувати картку для GTA_Player_X ↳ Canvas overflow · welcome-card.js:87
18:44:33
report
[DB]
MySQL connection lost — пул вичерпано · всі запити заблоковано · db/connection.js:23
18:44:55
8 · Послідовність · повний ланцюг member.join (1.19с)
Discord Gateway → Observer → EventBus → Nexus [DB] → Observer [Canvas] → Challenger [DB] · два SUCCESS на виході
troubleshoot[DB]SELECT guild_config WHERE guild_id='111...' · 3ms18:43:19.8011 · pre-check
bug_report[OBSERVER]Discord event: guildMemberAdd · GTA_Player_X 85720493817218:43:20.0422 · trigger
bug_report[OBSERVER]Emit → EventBus: member.join · {userId, guildId, timestamp}18:43:20.0443 · emit
info[NEXUS]EventBus → member.join · Завантажую профіль GTA_Player_X18:43:20.0464 · receive
troubleshoot[DB]SELECT * FROM nexus_profiles WHERE user_id='857...' · 14ms18:43:20.0605 · query
info[NEXUS]Профіль знайдено: GTA_Player_X · rank: Новачок · joined: 2024-01-1518:43:20.0626 · profile
info[OBSERVER]Генерую welcome-картку · Canvas 1200×630 для GTA_Player_X18:43:20.0657 · render
bug_report[OBSERVER]Canvas done: 847ms · welcome-card.js18:43:20.9128 · done
check_circle[OBSERVER]Welcome-картка відправлена → #вітання · msg: 98765432109818:43:20.9809 · sent ✓
bug_report[CHALLENGER]EventBus → member.join · updateActivity(857...)18:43:20.98310 · activity
troubleshoot[DB]INSERT INTO activity_log (user_id, event, points) VALUES ('857...','member.join',5) · 8ms18:43:20.99111 · insert
check_circle[CHALLENGER]Активність зареєстрована · +5 балів · streak: 1 день · total: 518:43:21.19312 · done ✓
9 · Групування · collapse pattern
Два сценарії: DB-спам (TRACE) і retry-помилки (ERROR). Ліворуч — сирий потік, праворуч — collapsed.
A · DB-спам — однакові TRACE-записи кожні 500мс
✗ Без collapse — 5 рядків
troubleshoot[DB]SELECT * FROM guild_config · 2ms18:44:00.000
troubleshoot[DB]SELECT * FROM guild_config · 2ms18:44:00.500
troubleshoot[DB]SELECT * FROM guild_config · 2ms18:44:01.000
troubleshoot[DB]SELECT * FROM guild_config · 2ms18:44:01.500
troubleshoot[DB]SELECT * FROM guild_config · 2ms18:44:02.000
✓ З collapse — 1 рядок
troubleshoot
[DB]
SELECT * FROM guild_config · 2ms
×5 розгорнути
18:44:00 → 18:44:02
↑ Клік по ×5 → розгорне всі 5 записів
B · Retry-помилки — Discord API rate limit, 3 спроби
✗ Без collapse — 3 однакові ERROR
error[API]POST /channels/123/messages · 429 Rate Limited · retry 1/318:44:50.120
error[API]POST /channels/123/messages · 429 Rate Limited · retry 2/318:44:51.520
error[API]POST /channels/123/messages · 429 Rate Limited · retry 3/318:44:53.720
✓ З collapse — ERROR + фінальний CRITICAL
error
[API]
POST /channels/123/messages · 429 Rate Limited
×3 retries
18:44:50 → 53
report
[API]
Всі 3 спроби вичерпано · повідомлення не відправлено · publisher/send.js:44
18:44:53.721
↑ Retry-дублікати collapsed + фінальний CRITICAL окремо