• 欢迎访问1024小神,一个只会Python的程序猿不是一个好司机
  • 有什么想对我说的可以在留言板里给我留言哦~
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏1024小神吧

python单利日志模块

Python 1024小神 1年前 (2020-08-02) 301次浏览 1个评论

import logging
import os


class LogObj(object):
    __instance = None

    def __new__(cls, *args, **kwargs):
        if cls.__instance is None:
            cls.__instance = object.__new__(LogObj)
        return cls.__instance

    def __init__(self):
        self.cret_dir()
        self.logger = logging.getLogger("5GLoss")
        self.logger.setLevel(logging.DEBUG)
        # 添加文件处理者和流处理者
        self.fh = logging.FileHandler("Logging/5glog.txt", encoding="utf-8")
        self.fh.setLevel(logging.DEBUG)
        self.sh = logging.StreamHandler()
        self.sh.setLevel(logging.DEBUG)
        # 设置<a title="查看更多关于日志的文章" href="https://1024shen.com/archives/tag/%e6%97%a5%e5%bf%97" target="_blank" rel="noopener">日志</a>格式
        LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"  # <a title="查看更多关于日志的文章" href="https://1024shen.com/archives/tag/%e6%97%a5%e5%bf%97" target="_blank" rel="noopener">日志</a>格式化输出:时间,等级,信息
        DATE_FORMAT = "%Y/%m/%d %H:%M:%S"  # 日期格式.,年月日,时分秒
        formatter = logging.Formatter(fmt=LOG_FORMAT, datefmt=DATE_FORMAT)
        self.fh.setFormatter(formatter)

        # 给<a title="查看更多关于日志的文章" href="https://1024shen.com/archives/tag/%e6%97%a5%e5%bf%97" target="_blank" rel="noopener">日志</a>添加处理者
        self.logger.addHandler(self.sh)
        self.logger.addHandler(self.fh)

    def cret_dir(self):
        if not os.path.exists("Logging"):
            os.mkdir("Logging")

    def get_logger(self):
        return self.logger


if __name__ == '__main__':
    logger = LogObj().get_logger()
    logger.debug("我是调试信息")
    logger.info("我是info信息")
    logger.warning("我是警告信息")
    logger.error("我是错误信息")
    logger.critical("我是严重错误信息")


如有失效,请留言告知丨转载请注明原文链接:python单利日志模块
点赞 (2)

您必须 登录 才能发表评论!

(1)个小伙伴在吐槽
  1. huan506
    谢谢分享
    2021-04-04 10:51