Mevcut biçim dizem:
formatter = logging.Formatter('%(asctime)s : %(message)s')
ve app_name
bu biçimlendiriciyi içeren her komut dosyasında farklı bir değeri olacak adlı yeni bir alan eklemek istiyorum .
import logging
formatter = logging.Formatter('%(asctime)s %(app_name)s : %(message)s')
syslog.setFormatter(formatter)
logger.addHandler(syslog)
Ancak app_name
, biçim dizesine enterpolasyon yapmak için bu değeri günlükçüye nasıl ileteceğimi bilmiyorum . Açıkçası, her seferinde geçerek günlük mesajında görünmesini sağlayabilirim ama bu karmaşık bir durum.
Denedim:
logging.info('Log message', app_name='myapp')
logging.info('Log message', {'app_name', 'myapp'})
logging.info('Log message', 'myapp')
ama hiçbiri çalışmıyor.
log
aramaya aktarmak istiyor musun ? Eğer öyleyse, bakmak docs diyor "Bu işlevsellik ... Bir LogRecord içine kendi değerlerini enjekte etmek için kullanılabilir" Ama bu kullanmak için bir asal vaka gibi görünüyorlogger = logging.getLogger('myapp')
ve onu içine pişmiş olanlogger.info
çağrı.