2
在我的代碼,我每寫LogRecord
字典對象。其中一個密鑰稱爲my_msg
,我想創建一個StreamHandler
,只是打印出時間和my_msg
鍵的值。 我曾嘗試以下,但我得到一個錯誤信息:AttributeError: type object 'LogRecord' has no attribute 'levelname'
如何指定一個日誌Handler內str.format()的風格?
streamformatter = logging.Formatter(fmt='{}:\t{}'.format(logging.LogRecord.levelname, logging.LogRecord.message.get('my_msg'), datefmt='%H:%M:%S', style='{')
感謝擡起頭。在這些小白天,我經常發生這種情況,即在需要之前我會打電話給你。這個問題雖然有兩方面的問題。問題的第二部分是關於如何訪問字典中的每個記錄是實例的密鑰的值? –
你需要在那裏更加明確;你是否使用額外的屬性創建自定義的'LogRecord'實例?如果是這樣,使用上面的語法('my_msg'就是這樣一個屬性)。你是在傳遞參數給'.log()'還是'.info()'或相關的調用?然後,這些被插值到呼叫的第一個參數,你需要在'LogRecord'格式做的是包括'msg'。 –