|
1234567891011121314151617181920212223242526272829303132333435 |
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- # @Author : linjie
-
- import logging.handlers
-
- class Logger(logging.Logger):
- def __init__(self, filename=None):
- super(Logger, self).__init__(self)
- # 日志文件名
- if filename is None:
- filename = 'log.txt'
- self.filename = filename
-
- # 创建一个handler,用于写入日志文件 (每天生成1个,保留30天的日志)
- fh = logging.handlers.TimedRotatingFileHandler(self.filename, 'D', 1, 30)
- fh.suffix = "%Y%m%d-%H%M.log"
- fh.setLevel(logging.INFO)
-
- # 再创建一个handler,用于输出到控制台
- sh = logging.StreamHandler()
- sh.setLevel(logging.INFO)
-
- # 定义handler的输出格式
- formatter = logging.Formatter('[%(asctime)s] - %(filename)s [Line:%(lineno)d] - [%(levelname)s]-[thread:%(thread)s]-[process:%(process)s] - %(message)s')
- fh.setFormatter(formatter)
- sh.setFormatter(formatter)
-
- # 给logger添加handler
- self.addHandler(fh)
- self.addHandler(sh)
-
- if __name__ == '__main__':
- pass
-
|