在Python中如果所有内容都打印在屏幕上的话,由于内容过多,非常不便于调试,因此编写本Python日志类。在本类中,即可以向系统缺省的日志文件中写日志,也可以向自己指定的文件写日志。在具体实现上,每次写日志都是打开文件,写入日志,然后将缓存写入文件,最后关闭文件。这样可以保证立即看到写入日志文件的调试信息。
日志类代码:
# -*- coding: utf-8 -*-
import logging
class AppLogger(object):
def
__init__(self):
"""Do nothing, by default."""
@staticmethod def
log(msg):
m_logger = logging.getLogger('tshr_root')
m_hdlr = logging.FileHandler('d:/ablog/python.log')
m_formatter = logging.Formatter('%(asctime)s %(levelname)s
%(message)s')
m_hdlr.setFormatter(m_formatter)
m_logger.addHandler(m_hdlr)
m_logger.setLevel(logging.WARNING)
m_logger.error(msg)
m_hdlr.flush()
m_logger.removeHandler(m_hdlr)
m_hdlr.close()
在本例中,使用静态方法实现的日志功能,调用格式为:AppLogger.log('the content')