背景:python
要日誌輸出到文件日誌
要天天記錄一個日誌文件。code
1)封裝model_logger.pyorm
#!/usr/bin/env # coding:utf-8 import logging import logging.handlers class Logger(logging.Logger): def __init__(self, filename=None): super(Logger, self).__init__(self) # 日誌文件名 if filename is None: filename = 'my.log' self.filename = filename # 建立一個handler,用於寫入日誌文件 (天天生成1個,保留10天的日誌) fh = logging.handlers.TimedRotatingFileHandler(self.filename, 'D', 1, 10) fh.suffix = "%Y%m%d-%H%M.log" fh.setLevel(logging.DEBUG) # 再建立一個handler,用於輸出到控制檯 ch = logging.StreamHandler() ch.setLevel(logging.WARNING) # 定義handler的輸出格式 formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(filename)s[line:%(lineno)d] - %(message)s') fh.setFormatter(formatter) ch.setFormatter(formatter) # 給logger添加handler self.addHandler(fh) self.addHandler(ch) if __name__ == '__main__': pass
2)使用方法utf-8
from model_logger import Logger logger = Logger('client_logs.log') if __name__ == '__main__': try: dostring() except Exception,e: logger.error(e)