0
我想向格式化程序添加動態字符串,但無法這樣做。將動態字符串添加到記錄器格式
這是代碼。
import logging
logger = logging.getLogger('simple_example')
logger.setLevel(logging.DEBUG)
fh = logging.FileHandler('spam.log')
var = 'some vaue'
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s %s' % var)
fh.setFormatter(formatter)
logger.addHandler(fh)
logger.error('error message')
輸出:
Traceback (most recent call last):
File "try.py", line 8, in <module>
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s %s' % var)
TypeError: format requires a mapping
這裏
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s %s' % var)
是什麼導致了錯誤,我真的需要一個varible VAR添加到該格式。
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s simple_example')
工作正常。
由於它的工作。請從您的答案中刪除'simple_example' – duck