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

Python3自定义日志类教程

时间:2019-01-15 18:28:07      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:日志   ima   内容   mkdir   功能   exists   class   critical   技术   

一、说明

Python3的logging功能是比较丰富的支持不同层次的日志输出,但或是我们想在日志前输出时间、或是我们想要将日志输入到文件,我们还是想要自定义日志类。

之前自己也尝试写过但感觉文档太乱看不懂怎么写,今天有人拿个半成品来问为什么代码报错,在其基础上改造了一下。

 

二、实现代码

import os
import datetime
import logging

class LogConfig:
    def __init__(self):
        # 创建存放日志的目录
        if not os.path.exists(./log):
            os.mkdir(./log)

        # 操作系统本身不允许文件名包含:等特殊字符,所以这里也不要用,不然赋给filename时会报错
        nowTime = datetime.datetime.now().strftime(%Y-%m-%d)
        # level----指定打印的日志等级;默认为WARNING;可为NOTSET、DEBUG、INFO、WARNING、ERROR、CRITICAL
        # format----指定整条日志的格式;这里设置为“时间-等级-日志内容”
        # datefmt----format中时间的格式;
        # filename----日志输出到的文件;默认打印到控制台
        # filemode----日志文件读写形式;默认为“a”;配合filename使用,如果不用filename该参数也可不用
        logging.basicConfig(level=logging.INFO,
                            format=%(asctime)s %(levelname)s %(message)s,
                            datefmt=%Y-%m-%d %H:%M:%S,
                            filename=f./log/{nowTime}.log,
                            filemode=a)
        self.logger = logging.getLogger()

    def getLogger(self):
        return self.logger

if __name__ == "__main__":
    logger = LogConfig().logger
    logger.debug(print by debug)
    logger.info(print by info)
    logger.warning(prit by warning)

 

三、日志截图

技术分享图片

 

参考:https://docs.python.org/3/library/logging.html#levels

Python3自定义日志类教程

标签:日志   ima   内容   mkdir   功能   exists   class   critical   技术   

原文地址:https://www.cnblogs.com/lsdb/p/10273409.html

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