python日志模块的封装

背景:

要日志输出到文件

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

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)
时间: 2025-01-17 20:02:29

python日志模块的封装的相关文章

python日志模块-logging

日志模块 logging logging模块主要可以根据自定义日志信息,在程序运行的时候将日志打印在终端及记录日志到文件中.在这先了解一下logging支持的日志五个级别 debug() 调试级别,一般用于记录程序运行的详细信息 info() 事件级别,一般用于记录程序的运行过程 warnning() 警告级别,,一般用于记录程序出现潜在错误的情形 error() 错误级别,一般用于记录程序出现错误,但不影响整体运行 critical 严重错误级别 , 出现该错误已经影响到整体运行 简单用法,将

Python日志模块Logger

日志模块的用法 json部分 先开一段测试代码:注意  str可以直接处理字典   eval可以直接将字符串转成字典的形式 dic={'key1':'value1','key2':'value2'} data=str(dic)#字典直接转成字符串 print(type(data),data) ## with open('db.txt','w',encoding='utf-8') as f:# f.write(str(dic))# with open('db.txt','r',encoding='

python日志模块logging

1. 基础用法 python提供了一个标准的日志接口,就是logging模块.日志级别有DEBUG.INFO.WARNING.ERROR.CRITICAL五种(级别依次升高),分别对应的函数为debug().info().warning().error().critical(). >>> import logging >>> logging.debug("ni hao") >>> logging.info("ni hao2

Python日志模块

做自动化的时候,我们需要给框架配上日志,出错的时候方便我们查看. 例子: import logging from Agin_Project.unittest_again.common.file_path import FilePath class My_log: def conf_log(self,level,msg): log = logging.getLogger("test_log") #创建一个日志收集器 log.setLevel(level) #设置日志的级别 # 日志的输出

python 日志模块(不使用配置文件)

"""     author: htfang     date  : 2014 12 15     logging module , use multiple logs without a log config file """ import logging from logging import (DEBUG,                      CRITICAL,                      FATAL,         

搭建一套自己实用的.net架构(2)【日志模块-log4net】

先谈谈简单的模块,日志.在系统中日志模块是必须的,什么系统日志,操作日志,调试日志.这里用的是log4net. 对log4net还不熟悉的小伙伴们赶快去搜索基础教程哦, 我这里就不温故了. 那么有人要问了,log4net确实很强大,而且我们也会用.还要单独写一篇文章来介绍,有必要吗? 我简单的举两个场景: 1:log4net写入DB 还需要在 log4net中配置数据库连接字符串,   我想log4net 和 我的 connectionStrings 用1个配置不行吗? 2:log4net写入参

python 自动化之路 logging日志模块

logging 日志模块 http://python.usyiyi.cn/python_278/library/logging.html 中文官方http://blog.csdn.net/zyz511919766/article/details/25136485 清晰明了,入门必备http://my.oschina.net/leejun2005/blog/126713 继承讲的很棒http://my.oschina.net/u/126495/blog/464892 实例分析 一:概述 在实际项目

Python 全栈开发八 日志模块

日志是一种可以追踪某些软件运行时所发生事件的方法.软件开发人员可以向他们的代码中调用日志记录相关的方法来表明发生了某些事情.一个事件可以用一个可包含可选变量数据的消息来描述.此外,事件也有重要性的概念,这个重要性也可以被称为严重性级别(level). 1.日志的作用 通过log的分析,可以方便用户了解系统或软件.应用的运行情况:如果你的应用log足够丰富,也可以分析以往用户的操作行为.类型喜好.地域分布或其他更多信息:如果一个应用的log同时也分了多个级别,那么可以很轻易地分析得到该应用的健康状

Python(2.7.6) 标准日志模块 - Logging Handler

Python 标准日志模块使用 Handler 控制日志消息写到不同的目的地,如文件.流.邮件.socket 等.除了StreamHandler. FileHandler 和 NullHandler 定义在 logging 模块中,其他的 Handler 均定义在  logging.hangdlers 模块中.这些 Handler 是:WatchedFileHandler.RotatingFileHandler.TimedRotatingFileHandler.SocketHandler.Dat