我正在通过Logging HOWTO、logging docs和tomordonez/logging 教程来了解日志系统。当我将日志记录添加到类时,日志信息MyClass.__init__()不会显示为MyClass.obj_name(). 这是为什么?如何funcName在日志输出中包含类名和信息?我阅读的文档和其他 SO 问题看起来我可能需要编写自定义格式化程序?或类似的东西?是否有任何非 docs.python.org 站点提供详细的演练,介于基础和高级之间?谢谢!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>
添加回答
举报
0/150
提交
取消