python-python3日志记录

2021-01-08 24点热度 0人点赞 0条评论

我正在尝试在python 3.6.8中创建自己的记录器,以将输出同时发送到stdout和日志文件(按日期选择,如果日志文件在今天的创建日期还不存在,如果已经有一个具有相同日期的文件,只需追加)。

from datetime import date
import logging
import logging.handlers
class Log:
    def __init__(self):
        pass

    def getCleanerLogger(self,moduleName, logFolder, format):
        filename = logFolder+ str(date.today()) + '-log.log'
        handler = logging.FileHandler(filename)
        shandler = logging.StreamHandler()
        shandler.setLevel(logging.INFO)
        handler.setLevel(logging.DEBUG)
        formatter = logging.Formatter(format)
        handler.setFormatter(formatter)
        shandler.setFormatter(formatter)
        logger = logging.getLogger(moduleName)
        logger.addHandler(handler)
        logger.addHandler(shandler)
        print("I've been called")
        return logger

import Conf
conf = Conf.configuration()
print(conf['logFolder'] + "   " + conf['logFormat'])
logger = Log()
logger = logger.getCleanerLogger("Log", conf['logFolder'], conf['logFormat'])
logger.info('initializing')
logger.debug('initializing debug')

在json conf文件中,这些是我加载的键

"logFolder": "log/",
"logFormat": "%(asctime)s - %(name)s - %(levelname)s - %(message)s"

日志文件是用正确的逻辑创建的,但是控制台或日志文件中都没有日志记录,只有打印到stdout,没有出现错误或异常,我真的不明白为什么这不起作用。加载basiconfig后,我只能使用logging.root.level(“msg”)进行日志记录。

查看隐藏内容需要支付:¥1
查看

未经允许不得转载!python-python3日志记录

本文地址:https://ans.52learn.online/2162

ANS52LEARN

DO BEST