码迷,mamicode.com
首页 > 编程语言 > 详细

python日志模块的封装

时间:2015-09-21 16:07:40      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:

背景:

要日志输出到文件

要每天记录一个日志文件。


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)


python日志模块的封装

标签:

原文地址:http://my.oschina.net/u/2351685/blog/509108

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!