4-modul · 10-dars: Logging
Daraja: O'rta
Logging. Multithreading va I/O bo‘yicha nazariya, amaliy namuna va mustaqil mashq.
Tushuntirish
## Dars maqsadi Logging tushunchalarini farqlash, nima uchun kerakligini izohlash va kichik misolda qo‘llash.
## Nazariya Dastur ishlashi haqidagi ma'lumot/hodisalarni (log) yozib borish.
Xatolarni topish (debug), dastur xatti-harakatini kuzatish, monitoring va audit uchun.
## Intervyuga tayyorgarlik ### Logging nima? Dastur ishlashi haqidagi ma'lumot/hodisalarni (log) yozib borish.
### Log tashlash bizga nima uchun kerak? Xatolarni topish (debug), dastur xatti-harakatini kuzatish, monitoring va audit uchun.
### Logging Java-ning nechinchi versiyasida qo'shilgan? `java.util.logging` Java 1.4 da qo'shilgan.
### Necha xil log level bor? `java.util.logging` da 7 ta: SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST (+ OFF/ALL). SLF4J/Logback da esa: TRACE, DEBUG, INFO, WARN, ERROR.
## Versiya va aniqlik Java misollari Java 17 bazasiga mo‘ljallangan. JDK/JRE paketlash usuli distributivga bog‘liq; JVM bayt-kodni interpretatsiya va JIT orqali bajarishi mumkin. GC uchun aniq bajarilish vaqtiga kafolat yo‘q; finalization resurs yopish usuli emas. Thread stop/suspend/resume kabi eski metodlar amaliy yechim emas. Koddagi import, klass yoki tashqi kutubxona kontekstini tekshiring.
## Manbalar [Moduldagi savollar yo‘nalishi](https://github.com/jlkesh/pdp_online_java_lessons/blob/main/interviewquestions/4-module.md) [Rasmiy qo‘llanma](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/package-summary.html) [Sizning avvalgi savol-javob arxivingiz](https://lightyer.uz/java/interview.html)
Kod quyida o‘quv namunasi sifatida berilgan. To‘liq ilova uchun import, dependency va konfiguratsiya kerak bo‘lishi mumkin. SQLni faqat ajratilgan test bazasida bajaring.
Kod misoli
var logger = java.util.logging.Logger.getLogger("study");
logger.info("Katalog o'qildi");
// Foydalanuvchi paroli va tokenini hech qachon logga yozmang.
Keng tarqalgan xatolar
- `System.out.println` bilan log yozish - daraja, vaqt va manba ko'rsatilmaydi.
- Logga shaxsiy ma'lumot yoki parol yozish.
Mashqlar
- Bitta class da to'rt xil darajada log yozib, konfiguratsiya bilan ularni yoqib-o'chiring.
- Exception ni logga stack trace bilan yozing va xabarni ma'noli qiling.
Teglar: nazariya, pdp, modul-04