美文网首页
python自定义logger handler

python自定义logger handler

作者: 半道出了个家 | 来源:发表于2019-03-04 00:29 被阅读0次
_filefmt=os.path.join("logs","%Y-%m-%d.log")
class MyLoggerHandler(logging.Handler):
    def __init__(self,filefmt=None):
        self.filefmt=filefmt
        if filefmt is None:
            self.filefmt=_filefmt
        logging.Handler.__init__(self)
    def emit(self,record):
        msg=self.format(record)
        _filePath=datetime.datetime.now().strftime(self.filefmt)
        _dir=os.path.dirname(_filePath)
        try:
            if os.path.exists(_dir) is False:
                os.makedirs(_dir)
        except Exception:
            print("can not make dirs")
            print("filepath is "+_filePath)
            pass
        try:
            _fobj=open(_filePath,'a') 
            _fobj.write(msg)
            _fobj.write("\n")
            _fobj.flush()
            _fobj.close()
        except Exception:
            print("can not write to file")
            print("filepath is "+_filePath)
            pass
if __name__ == '__main__':
    logging.basicConfig()
    logger = logging.getLogger("logger")
    logger.setLevel(logging.INFO)
    filehandler = MyLoggerHandler()
    logger.addHandler(filehandler)
    logger.info('log...')

实现每天一个日志

相关文章

网友评论

      本文标题:python自定义logger handler

      本文链接:https://www.haomeiwen.com/subject/pnbvuqtx.html