logging还能这样用?

栏目: Python · 发布时间: 7年前

内容简介:大家在开发过程中,除了编写应有的项目代码,有时候需要记录相应的接口及数据操作记录。你可以自己通过with open方法自己写入文件,进行记录。不过这方法较为麻烦,而且需要自己做好日志记录的格式等诸多问题。还有一些开发经验丰富的人,可能会直接使用logging这个内置方法,进行日志记录,但是这个logging的方法又较为死板。这时我们想要做一些简单的定制时,就可以对logging 进行封装,比如把console输出的同时能够写入文件一份,以下代码就是,满足这个需求的自我定制版,大家可以看看。

大家在开发过程中,除了编写应有的项目代码,有时候需要记录相应的接口及数据操作记录。

你可以自己通过with open方法自己写入文件,进行记录。不过这方法较为麻烦,而且需要自己做好日志记录的格式等诸多问题。

还有一些开发经验丰富的人,可能会直接使用logging这个内置方法,进行日志记录,但是这个logging的方法又较为死板。这时我们想要做一些简单的定制时,就可以对logging 进行封装,比如把console输出的同时能够写入文件一份,以下代码就是,满足这个需求的自我定制版,大家可以看看。

import os
import time
import logging
 
class Log(object):
    logger = None
    cur_path = os.path.dirname(os.path.realpath(__file__))
    log_path = os.path.join(cur_path, 'logs')
    log_format = '%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s'
 
    # 如果路径不存在,就创建路径
    if not os.path.exists(log_path): os.mkdir(log_path)
 
    file_name = '{}/{}.log'.format(log_path,time.strftime("%Y_%m_%d"))
 
    def __init__(self, file_name=file_name, level=logging.INFO, name=__file__):
        # 设置 log格式和等级
        logging.basicConfig(format=self.log_format, level=level)
        console = logging.FileHandler(filename=file_name)
        console.setLevel(logging.INFO)
        formatter = logging.Formatter(self.log_format)
        console.setFormatter(formatter)
 
        # 将定义好的console日志handler添加到root logger
        logging.getLogger('').addHandler(console)
        self.logger = logging.getLogger(name=name)
 
    def get_logger(self):
        return self.logger
if __name__ == '__main__':
    log = Log().get_logger()
    log.info(msg="info测试信息")
    log.warning(msg="warning测试信息")
 

以上操作完时候,我们的会在此 python 文件同等路径下创建出一个log文件夹,文件夹下会有日志文件:xx-xx-xx.log文件。 欢迎大家访问我的博客: bigyong.cn

欢迎大家关注我的公众号:

logging还能这样用?

#####         如果我的文档给您提供了帮助,请点击一下页面广告,给个支持! #####如有需要沟通的,请直接评论或者是邮件沟通。欢迎小主关注我的微信公众号:BigYoung成长之路,微信搜索可关注。如想交个朋友,可直接加入我的QQ群:615870353;或者加入我的知识星球:ID:45959491

BigYoung版权所有,转载请邮件(Mr_wang_yang@163.com)获取授权,并注明转自:http://www.bigyoung.cn/1064.html


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Linux Command Line

The Linux Command Line

William E. Shotts Jr. / No Starch Press, Incorporated / 2012-1-17 / USD 39.95

You've experienced the shiny, point-and-click surface of your Linux computer-now dive below and explore its depths with the power of the command line. The Linux Command Line takes you from your very ......一起来看看 《The Linux Command Line》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具