Python Logging Sistemi Kurulumu

0 Yanıt 8 Görüntülenme
·
Katılımcılar
Konuyu Açan #1
Python'da etkili bir logging sistemi kurmak, büyük ölçekli projelerde hata takibi ve performans analizi açısından kritik öneme sahiptir. Bu konuya giriş yaparken, temel logging modülünün nasıl yapılandırılacağını, farklı seviyelerde log kaydı tutmayı ve gelişmiş ayarları detaylandıracağız. Ayrıca, pratik örneklerle sisteminizi nasıl optimize edebileceğinizi anlatacağım.

İlk olarak, Python'un standart logging modülü, gelişmiş ve esnek bir yapı sunar. Basit bir loglama yapmak için, öncelikle log seviyelerini anlamak gerekir: DEBUG, INFO, WARNING, ERROR ve CRITICAL. Bu seviyeler, logların önem derecesini belirler ve gereksiz detayları filtrelemenize olanak tanır.

Bir diğer önemli konu, farklı çıktı (handler) kullanımıdır. Örneğin, logları hem konsola hem de dosyaya kaydetmek isteyebilirsiniz. Bu durumda, aşağıdaki gibi bir yapı kurabilirsiniz:

KOD
123456789101112131415161718192021222324252627282930python
import logging

[b]Logger nesnesi oluştur[/b]
logger = logging.getLogger('MyLogger')
logger.setLevel(logging.DEBUG)  # En düşük seviyeyi belirle

[b]Konsol handler'ı[/b]
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)  # Sadece INFO ve üzeri seviyeleri göster

[b]Dosya handler'ı[/b]
file_handler = logging.FileHandler('app.log')
file_handler.setLevel(logging.ERROR)  # Sadece ERROR ve CRITICAL seviyelerini kaydet

[b]Format belirle[/b]
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
console_handler.setFormatter(formatter)
file_handler.setFormatter(formatter)

[b]Handler'ları logger'a ekle[/b]
logger.addHandler(console_handler)
logger.addHandler(file_handler)

[b]Log mesajları[/b]
logger.debug('Debug mesajı')
logger.info('Bilgi mesajı')
logger.warning('Uyarı mesajı')
logger.error('Hata mesajı')
logger.critical('Kritik hata')


Bu yapı sayesinde, uygulama içinde farklı seviyelerde detay seviyeleriyle log tutabilir ve hataları anında tespit edebilirsiniz. Ayrıca, log rotasyonu gibi gelişmiş özellikler için logging.handlers modülündeki RotatingFileHandler veya TimedRotatingFileHandler kullanılarak, log dosyalarının boyut ve zaman bazlı yönetimi sağlanabilir.

Son olarak, kendi uygulamanıza özgü, modüler ve okunabilir bir logging sistemi kurmak, bakım ve geliştirme süreçlerini önemli ölçüde kolaylaştırır. Bu nedenle, yapılandırmanızı detaylandırmak ve ihtiyaçlara göre uyarlamak, uygulamanızın güvenilirliğini artırır.

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi