logging.getLogger
- Python kursu
- İleri seviye
- Ders 67/83
- 5 dk
logging.getLogger ile günlükleyici almayı öğrenirsin.
logging.getLogger
logging.getLogger(name), bir günlükleyici (logger) nesnesi döndürür. Aynı isimle yapılan çağrılar hep aynı nesneyi verir; bu, günlükleri kategoriye ayırmayı sağlar.
import logging
logger = logging.getLogger("myapp")
print(logger.name) # myappGünlükleyici adları genellikle noktayla hiyerarşik olur: myapp.db, myapp.api. Bu, alt günlükleyicilerin üst olanı miras almasını sağlar.
günlükleyici hiyerarşisi
Günlükleyici adları noktayla ayrılır; myapp.db, myapp'ın alt günlükleyicisidir. Alt günlükleyici, üst olanın düzey ve işleyici ayarlarını miras alır.
parent = logging.getLogger("myapp")
child = logging.getLogger("myapp.db")
print(child.parent.name) # myappKök günlükleyici getLogger() ile (isimsiz) alınır; tüm günlükleyiciler ona bağlıdır. Bu hiyerarşi, büyük uygulamalarda günlükleri düzenlemeyi kolaylaştırır.
Uygulama Günlükleyici al ve adını yazdır
import logging ile başla. logger = logging.getLogger("myapp") ile bir günlükleyici al. print(logger.name) ile adını yazdır.
Başlangıç kodu
# logging modülünü içe aktar
# 'myapp' adıyla bir günlükleyici al
# günlükleyicinin adını yazdırÖrnek çözüm
import logging
logger = logging.getLogger("myapp")
print(logger.name)Beklenen çıktı
myapp
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 logging.getLogger("myapp") iki kez çağrılırsa ne olur?
- Farklı nesneler döner
- Aynı nesne döner Doğru cevap
- Hata fırlatılır
- None döner
Açıklama: Aynı isimle yapılan çağrılar aynı günlükleyiciyi döndürür.
2 getLogger çağrısını tamamla
import logging
logger = logging.____("myapp")
import logging
logger = logging.getLogger("myapp")
Açıklama: logging.getLogger('myapp') ile günlükleyici alınır.
3 getLogger kavramlarını eşleştir
| Kavram | Anlamı |
|---|---|
getLogger |
Günlükleyici verir |
logger.name |
Ad döndürür |
myapp.db |
Alt günlükleyicidir |
getLogger() |
Kök günlükleyicidir |