我正在通過Logging HOWTO、logging docs和tomordonez/logging 教程來了解日志系統(tǒng)。當(dāng)我將日志記錄添加到類時(shí),日志信息MyClass.__init__()不會(huì)顯示為MyClass.obj_name(). 這是為什么?如何funcName在日志輸出中包含類名和信息?我閱讀的文檔和其他 SO 問題看起來我可能需要編寫自定義格式化程序?或類似的東西?是否有任何非 docs.python.org 站點(diǎn)提供詳細(xì)的演練,介于基礎(chǔ)和高級(jí)之間?謝謝!import logginglogger = logging.getLogger('application')logger.setLevel(logging.DEBUG)# # create file handler which logs debug messages# fh = logging.FileHandler('output.log.txt')# fh.setLevel(logging.DEBUG)# # create console handler which logs debug messagesch = logging.StreamHandler()ch.setLevel(logging.DEBUG)formatter = logging.Formatter('%(name)s %(funcName)s - %(levelname)s - %(message)s')# fh.setFormatter(formatter)ch.setFormatter(formatter)# # add handlers to logger# logger.addHandler(fh)logger.addHandler(ch)class MyClass(): def init(): logger.info('creating an instance of MyClass object') def obj_name(self): logger.info('declare name')def main(): myobj = MyClass() # print(dir(myobj)) myobj.obj_name()if __name__ == "__main__": main()完整輸出:PS D:\0_program_dev>'C:\Python\Python37\python.exe' 'd:\0_program_dev\hands_of_ada_book_generator\logging_tools.py' application obj_name - INFO - declare namePS D:\0_program_dev>
添加回答
舉報(bào)
0/150
提交
取消