Python Dekoratörleri: İşlev Çağrıları için Özel Günlük Kaydı

Programlama ve Script dilleri konusunda bilgi paylaşım alanıdır.
Cevapla
castlesmaster
Bit
Bit
Mesajlar: 10
Kayıt: 21 Mar 2023, 15:21
Teşekkür edildi: 1 kez

Python Dekoratörleri: İşlev Çağrıları için Özel Günlük Kaydı

Mesaj gönderen castlesmaster »

Birden fazla işlevimin olduğu bir Python projesi üzerinde çalışıyorum ve hata ayıklama amacıyla her işlev çağrısını argümanları ve dönüş değeriyle birlikte günlüğe kaydetmek istiyorum. Dekoratörlerin bunu başarmaya yardımcı olabileceğini duydum. Birisi bana işlev çağrılarını günlüğe kaydetmek için özel bir dekoratörün nasıl oluşturulacağı konusunda rehberlik edebilir mi?

İşte aklımda olanlar:

Kod: Tümünü seç

def log_function_call(func):
    def wrapper(*args, **kwargs):
        # Log function call, arguments, and return value
        result = func(*args, **kwargs)
        # Log the result
        return result
    return wrapper

@log_function_call
def add(a, b):
    return a + b

@log_function_call
def subtract(a, b):
    return a - b

# Example function calls
result1 = add(5, 3)
result2 = subtract(10, 4)

İşlev çağrılarını ve sonuçlarını temiz ve düzenli bir şekilde günlüğe kaydetmek istiyorum. Bunu başarmak için log_function_call dekoratörünü nasıl değiştirebilirim? Ek olarak, Python'daki günlükçüyü bu günlükleri etkili bir şekilde yakalayacak şekilde yapılandırmanın en iyi yöntemi nedir? Herhangi bir kod örneği veya öneriniz çok takdir edilecektir. Teşekkür ederim!
Cevapla