Chuỗi định dạng hiện tại của tôi là:
formatter = logging.Formatter('%(asctime)s : %(message)s')
và tôi muốn thêm một trường mới được gọi là trường app_name
sẽ có giá trị khác nhau trong mỗi tập lệnh chứa bộ định dạng này.
import logging
formatter = logging.Formatter('%(asctime)s %(app_name)s : %(message)s')
syslog.setFormatter(formatter)
logger.addHandler(syslog)
Nhưng tôi không chắc làm thế nào để chuyển app_name
giá trị đó cho trình ghi để nội suy vào chuỗi định dạng. Tôi rõ ràng có thể làm cho nó xuất hiện trong thông báo nhật ký bằng cách chuyển nó mỗi lần nhưng điều này thật lộn xộn.
Tôi đã thử:
logging.info('Log message', app_name='myapp')
logging.info('Log message', {'app_name', 'myapp'})
logging.info('Log message', 'myapp')
nhưng không có tác dụng.
log
cuộc gọi không? Nếu vậy, hãy xem các tài liệu có ghi "Chức năng này có thể được sử dụng để đưa các giá trị của riêng bạn vào LogRecord…" Nhưng đây có vẻ như là một trường hợp cơ bản để sử dụnglogger = logging.getLogger('myapp')
và đưa nó vàologger.info
cuộc gọi.