Bosh sahifa Wiki Log

Log

Log — dastur, operatsion tizim yoki qurilmada sodir bo‘lgan hodisani vaqt va kontekst bilan qayd etuvchi yozuvdir. Log debugging, incident tahlili, audit va operatsion kuzatuv uchun ishlatiladi. U telemetryning bir turi bo‘lib, odatda alohida hodisalar haqida metricdan batafsilroq ma’lumot beradi.

Yozuv tarkibi

Minimal log timestamp, severity, source va messagega ega. Structured log event name, service, environment, trace ID, request ID va domen maydonlarini alohida fieldlarda beradi. Timestamp timezone va aniqlik bilan yoziladi.

Source code line har deployda o‘zgarishi mumkin, barqaror event code esa query va alert uchun ishonchliroq. Message inson o‘qishi uchun, fieldlar mashina tahlili uchun xizmat qiladi. Birlik va data turi field nomida yoki schema da aniqlanadi.

Severity

Debug rivojlantirish tafsiloti, info normal muhim hodisa, warning kutilmagan, ammo davom ettirilgan holat, error bajarilmagan amal, fatal esa process davom eta olmaydigan xatoni bildirishi mumkin. Aniq level semantikasi logging framework va tashkilot conventioniga bog‘liq.

Har exceptionni bir nechta qatlam error qilib yozsa duplicate shovqin tug‘iladi. Xatoni qayta ishlash ownershipiga ega qatlam kontekst bilan log qiladi. Retry qilinadigan vaqtinchalik xato warning, urinishlar tugagach error bo‘lishi mumkin.

Mahalliy va markaziy saqlash

Container ilovasi ko‘pincha stdout/stderrga yozadi, runtime esa streamni file yoki collector agentga olib boradi. Fayl rotation size yoki vaqt bo‘yicha eski logni almashtiradi. Process fayl handle o‘zgarishini to‘g‘ri boshqarishi kerak.

Log aggregation turli manbalarni markaziy storagega yuboradi. Agent buffer, retry va backpressure bilan network uzilishini boshqaradi. At-least-once delivery duplicate yozuv keltirishi mumkin; event ID va query semantikasi buni hisobga oladi.

Qidiruv va correlation

Service, level va vaqt kabi bounded field indekslanadi. High-cardinality request ID to‘liq indeks yoki Loki stream labeli uchun qimmat bo‘lishi mumkin, ammo log field sifatida qidiriladi. Trace ID logdan distributed tracega o‘tish imkonini beradi.

Bir request loglarini faqat timestamp bo‘yicha bog‘lash soat siljishi sabab ishonchsiz. Correlation ID, trace ID va span ID context propagation orqali xizmatlar bo‘ylab uzatiladi. ID metric labelga qo‘yilmaydi.

Maxfiylik va yaxlitlik

Parol, token, session cookie, private key va to‘liq shaxsiy payload logga yozilmaydi. Masking pipeline ikkilamchi himoya bo‘lib, source dagi data minimization birinchi choradir. URL query va exception object ham secret olib yurishi mumkin.

Audit log oddiy debug logdan kuchliroq integrity, retention va access talabiga ega. Append-only storage, hash yoki signature o‘zgartirishni aniqlashga yordam beradi. Logga access va queryning o‘zi audit qilinishi mumkin.

Performance va retention

Synchronous disk yozuvi request latencyga ta’sir qiladi. Asinxron logger buffer ishlatadi, ammo crashda oxirgi yozuvlar yo‘qolishi mumkin. Queue to‘lsa drop, block yoki disk spill siyosati log turiga qarab tanlanadi.

Retention huquqiy talab, incident window va xarajatni muvozanatlashtiradi. Debug qisqa, security yoki audit uzoqroq saqlanishi mumkin. Eski indeks o‘chib, payload object storageda qolib ketmasligi uchun lifecycle barcha nusxaga tatbiq etiladi.

Hodisa chegarasi

Bitta biznes hodisani bir nechta satrga bo‘lish collector multiline qoidalariga bog‘liqlik yaratadi. Structured logger exception va kontekstni bitta recordda saqlaydi. Juda katta record transport limitidan oshsa kesilishi mumkin; payloadning o‘zi object storagega yozilib, logda xavfsiz reference qoladi.

Log yozuvi vaqtincha muvaffaqiyatsiz bo‘lsa applicationning asosiy amali audit talabiga qarab davom etadi yoki to‘xtaydi. Debug log uchun fail-open, majburiy audit uchun transactional outbox yoki durable sink kabi kuchliroq mexanizm kerak bo‘lishi mumkin.

Bog‘liq tushunchalar

Structured logging, Log level, Log aggregation, Correlation ID, Audit log, Retention, Telemetry