标签:
背景:
要日志输出到文件
要每天记录一个日志文件。
1)封装model_logger.py
#!/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)使用方法
from model_logger import Logger logger = Logger(‘client_logs.log‘) if __name__ == ‘__main__‘: try: dostring() except Exception,e: logger.error(e)
标签:
原文地址:http://my.oschina.net/u/2351685/blog/509108