几个基本的python日志问题

我正在通过Logging HOWTO、logging docs和tomordonez/logging 教程来了解日志系统。当我将日志记录添加到类时,日志信息MyClass.__init__()不会显示为MyClass.obj_name(). 这是为什么?


如何funcName在日志输出中包含类名和信息?我阅读的文档和其他 SO 问题看起来我可能需要编写自定义格式化程序?或类似的东西?是否有任何非 docs.python.org 站点提供详细的演练,介于基础和高级之间?谢谢!


import logging


logger = 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 messages

ch = 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 name

PS D:\0_program_dev>


www说
浏览 169回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python