Python ile Log Rotasyon Uygulaması

0 Replies 2 Views
·
Participants
Thread Starter #1
Python'da log rotasyonu, özellikle uzun süre çalışan uygulamalar için kritik bir ihtiyaçtır. Günümüzde birçok uygulama, günlük veya belirli boyuta ulaştığında log dosyasını otomatik olarak devreye alıp yeni log dosyasına geçiş yapmasını ister. Bu süreç, disk alanını etkin kullanmak ve logların okunabilirliğini sağlamak adına önemli bir adımdır.

Python'un standart kütüphanesinde bunun için logging modülü, RotatingFileHandler ve TimedRotatingFileHandler sınıflarını sağlar. Bu sınıflar, log dosyasının boyutuna veya zamana göre otomatik olarak yeni dosyalara geçiş yapmasını sağlar.

Örneğin, RotatingFileHandler, belirli bir boyuta ulaştığında log dosyasını döndürür. Aşağıda, temel bir kullanım örneği yer almakta:

CODE
1234567891011  
import logging  
from logging.handlers import RotatingFileHandler  
  
logger = logging.getLogger('MyLogger')  
logger.setLevel(logging.INFO)  
  
handler = RotatingFileHandler('app.log', maxBytes=1024*1024*5, backupCount=5)  
logger.addHandler(handler)  
  
logger.info('Bu mesaj log dosyasına kaydedilir.')  


Burada, maxBytes parametresi ile log dosyasının boyutu 5MB'e ulaştığında, yeni log dosyası oluşturulur ve eski dosya app.log.1 olarak yedeklenir. backupCount parametresi ise kaç yedek dosya saklanacağını belirler.

Daha gelişmiş bir kullanım için TimedRotatingFileHandler tercih edilebilir. Bu, zaman bazlı rotasyon sağlar; örneğin, günlük, haftalık veya saatlik. Bu yaklaşım, logların zamana göre düzenlenmesini kolaylaştırır.

Özetle, Python'da log rotasyonu, özellikle uzun süreli ve yüksek hacimli uygulamalarda, disk alanını koruyup logların düzenli ve erişilebilir kalmasını sağlar. Bu sistemlerin düzgün çalışması, hem uygulama performansı hem de hata analizi açısından kritik öneme sahiptir.

You must be logged in to reply.

0 quotes selected