关于#python#的问题:为什么输出的是不是log格式的文件

为什么输出的是不是log格式的文件

img

img

img

class GetLog:
    @classmethod
    def get_log(cls):
        cls.log = None
        if cls.log is None:
            # 1.获取日志器
            cls.log = logging.getLogger()
            # 1.1获取日志器级别info
            cls.log.setLevel(logging.INFO)
            filepath = DIR_path + os.sep + "log" + os.sep + "p2p.log"
            # 2.获取处理器
            # sh = logging.StreamHandler()控制台处理器
            tf = logging.handlers.TimedRotatingFileHandler(filepath,
                                                           when="midnight",
                                                           interval=1,
                                                           backupCount=7,
                                                           encoding="UTF-8"
                                                           )  # 文件处理器
            # 3.获取格式器
            fmt = "%(asctime)s %(levelname)s [%(name)s] [%(filename)s(%(funcName)s:%(lineno)d)] - %(message)s"
            # 4.将格式器添加到处理器中
            formatter = logging.Formatter(fmt)
            tf.setFormatter(formatter)
            # 5.将处理器添加到日志器中
            cls.log.addHandler(tf)
        # 返回日志器
        return cls.log

该回答引用GPTᴼᴾᴱᴺᴬᴵ
如果你的输出结果不是你期望的格式,可能是因为在调用 get_log() 方法后没有正确地使用日志器实例记录日志信息。可以在代码中调用 get_log() 方法来获取日志器实例,然后使用日志器实例的方法(例如 info()、debug()、error() 等)来记录日志信息。例如:

log = GetLog.get_log()
log.info("This is an info log message.")
log.debug("This is a debug log message.")

这样可以将日志信息写入到文件中,并按照预定义的格式进行格式化输出。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^