python logger日志工具类



#! /usr/bin/env python
# coding=gbk
import logging, os

class logger:
    def __init__(self, path, clevel=logging.DEBUG, Flevel=logging.DEBUG):
        self.logger = logging.getLogger(path)
        self.logger.setLevel(logging.DEBUG)
        fmt = logging.Formatter(‘[%(asctime)s] [%(levelname)s] %(message)s‘, ‘%Y-%m-%d %H:%M:%S‘)
        # 设置CMD日志
        sh = logging.StreamHandler()
        sh.setFormatter(fmt)
        sh.setLevel(clevel)
        # 设置文件日志
        fh = logging.FileHandler(path)
        fh.setFormatter(fmt)
        fh.setLevel(Flevel)
        self.logger.addHandler(sh)
        self.logger.addHandler(fh)

    def debug(self, message):
        self.logger.debug(message)

    def info(self, message):
        self.logger.info(message)

    def war(self, message):
        self.logger.warn(message)

    def error(self, message):
        self.logger.error(message)

    def cri(self, message):
        self.logger.critical(message)

if __name__ == ‘__main__‘:
    logyyx = logger(‘yyx.log‘, logging.DEBUG, logging.DEBUG)
    logyyx.debug(‘一个debug信息‘)
    logyyx.info(‘一个info信息‘)
    logyyx.war(‘一个warning信息‘)
    logyyx.error(‘一个error信息‘)
    logyyx.cri(‘一个致命critical信息‘)

原文地址:https://www.cnblogs.com/zipon/p/8289316.html

时间: 2024-11-08 11:10:47

python logger日志工具类的相关文章

Java 基于log4j的日志工具类

Java 基于log4j的日志工具类 对log4j日志类进行了简单封装,使用该封装类的优势在于以下两点: 1.不必在每个类中去创建对象,直接类名 + 方法即可 2.可以很方便的打印出堆栈信息 package com.tradeplatform.receiveorder.util; import java.io.PrintWriter; import java.io.StringWriter; import org.apache.log4j.Logger; /** * @Description 日

Android开发调试日志工具类[支持保存到SD卡]

直接上代码: package com.example.callstatus; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; import java.net.UnknownHostException; import java.text.SimpleDateFormat; impor

安卓开发技巧二:自定义日志工具类XLog的实现

我们在开发过程中,打印日志是必不可少的一个调试环节,然而,直接使用系统自带的Log日志类,并不能满足我们实际项目的需求:假如我们现在在开发一款比较大的项目,用到打印日志的地方肯定特别多,等到真正上线的时候,我们是不希望日志依旧能够打印出的,原因很简单,不仅多少有些影响效率,更有可能导致信息的泄露,所以我们就需要把所有的日志打印语句全部取消掉,难道我们真的一个一个的去删除这些打印日志的语句吗?项目那么大,就是想删除,也得耗费大量的时间和精力!大家不用怕,笔者这就给大家带来一款控制线上版本和线下版本

Android LogUtils打印日志工具类

LogUtils打印日志工具类 这是一个从XUtils3中摘抄出来的打印日志工具类.这个类打印日志比较详细,可以打印类名.方法名.isDebug为打印日志开关,初始化的时候可以使用LogUtils.isDebug(boolean b)来控制开关状态. public class LogUtils { public static String customTagPrefix = "x_log"; private static boolean isDebug = true; private

一个功能强大的日志工具类

日志可谓是开发中必不可少的工具了, 但是一般的日志信息难以满足我们的需要,特别是对于大一点的复杂的项目,日志太多,经常导致我们定位不到打印日志的位置.因此我们希望打印的日志能告诉我们日志是在哪里打印的,哪个类,哪个方法,哪一行? 更进一步,最好我点击日志就能跳转到源码处,那就更好啦. 同时,对于一些模块很多的大型app,bug偶尔出现的情况, 有时要修复bug通常要联系整个模块的上下文信息才能找到, 这时我们可以将同一个模块的TAG设置为一样的,最好能将相关日志写入本地,以便测试提出bug的时候

log4j日志工具类

/** * log4j日志Util */public class LogUtil { private static Logger logger=null; static{ StackTraceElement[] stackTraceElements=new Throwable().getStackTrace(); String callerClassName=stackTraceElements[1].getClassName(); logger=LoggerFactory.getLogger(

python logger日志配置

1 self.logger = logging.getLogger(logName) # 创建logger实例 2 time = datetime.datetime.now() 3 logFilePath = os.path.abspath('../log/') + '/{}-{}-{}'.format(time.year, time.month, time.day) # 设置日志文件输出路径 4 self.check_mkdir(logFilePath) 5 logFile = logFile

python logger日志通用配置文件

阅读须知?? 1.示例代码可直接放在项目py文件中即可使用 2.project_name,logfile_name变量需根据你的项目进行修改 3.日志输出格式format选择(可根据你的需要替换或修改示例代码中的format) %(levelno)s: 打印日志级别的数值 %(levelname)s: 打印日志级别名称 %(pathname)s: 打印当前执行程序的路径,其实就是sys.argv[0] %(filename)s: 打印当前执行程序名 %(funcName)s: 打印日志的当前函数

python 连接redis工具类

#!/usr/bin/python # coding=utf-8 __author__ = 'shuangjiang' import redis import sys default_encoding = 'utf-8' if sys.getdefaultencoding() != default_encoding: reload(sys) sys.setdefaultencoding(default_encoding) class myRedis: def __init__(self,host