Python
FileHandler
FileHandler ile dosyaya yazmayı öğrenirsin.
FileHandler
logging.FileHandler, günlükleri bir dosyaya yazar. filename parametresi dosya yolunu alır; günlükleyiciye addHandler ile eklenir.
import logging
handler = logging.FileHandler("app.log")
handler.setFormatter(logging.Formatter("%(levelname)s:%(message)s"))
logger = logging.getLogger("myapp")
logger.addHandler(handler)
logger.setLevel(logging.DEBUG)
logger.info("merhaba") # app.log'a yazılır
Dosya yolunu uygulama dizinine göre verebilirsin; uygulama her çalıştığında günlükler dosyada birikir.
işleyici ekleme
İşleyici, logger.addHandler(handler) ile günlükleyiciye eklenir. Bir günlükleyiciye birden çok işleyici eklenebilir; örneğin hem dosyaya hem ekrana yazmak için iki işleyici kullanırsın.
logger.addHandler(logging.FileHandler("app.log"))
logger.addHandler(logging.StreamHandler())
İşleyicilerin düzeyleri ayrı ayrı ayarlanabilir; bu, ekrana yalnızca hataları, dosyaya tüm iletileri yazmak için kullanışlıdır. İşleyiciyi kaldırmak için removeHandler çağrılır.
Uygulama FileHandler ile dosyaya yaz ve oku
import logging ile başla. handler = logging.FileHandler("app.log") tanımla. handler.setFormatter(logging.Formatter("%(levelname)s:%(message)s")) ekle. logger = logging.getLogger("myapp") al. logger.addHandler(handler) ve logger.setLevel(logging.DEBUG) yap. logger.info("merhaba") yaz. Sonra open("app.log", "r", encoding="utf-8") ile dosyayı oku ve print(f.read().strip()) ile içeriği yazdır.
Örnek çözümü göster
import logging
handler = logging.FileHandler("app.log")
handler.setFormatter(logging.Formatter("%(levelname)s:%(message)s"))
logger = logging.getLogger("myapp")
logger.addHandler(handler)
logger.setLevel(logging.DEBUG)
logger.info("merhaba")
with open("app.log", "r", encoding="utf-8") as f:
print(f.read().strip())
Kendini test et
-
FileHandler hangi parametreyle dosya yolunu alır?
Cevabı göster
filename — FileHandler ilk parametre olarak dosya yolunu alır (filename).
-
FileHandler çağrısını tamamla
import logging
handler = logging.____("app.log")
Cevabı göster
import logging
handler = logging.FileHandler("app.log")
-
FileHandler kavramlarını eşleştir
- FileHandler
- Dosyaya yazar
- addHandler
- İşleyici ekler
- setFormatter
- Biçim ayarlar
- StreamHandler
- Ekrana yazar
Sıradaki ders: dictConfig