电脑爱好者 发表于 2022-6-5 10:49

python语言的logging模块求助

本帖最后由 电脑爱好者 于 2022-6-5 11:03 编辑

我使用logging模块代替print输出,这样既可以控制台输出又可以将输出结果写入到文件,代码如下,之前一直运行的很正常,最近发现控制台和文件都没有输出,这个代码我也没改动。求助!!!

'''
日志模块
'''
LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"# 日志格式化输出
DATE_FORMAT = "%m/%d/%Y %H:%M:%S %p"# 日期格式
fp = logging.FileHandler('./run-log/imbox.txt', encoding='utf-8')
fs = logging.StreamHandler()
logging.basicConfig(level=logging.DEBUG, format=LOG_FORMAT, datefmt=DATE_FORMAT, handlers=, fs])# 调用
见附件“控制台无输出”


不过我单独把这段代码复制到一个新加的python文件里单独运行,这个新文件运行正常,控制台和文件都有输出,我真是有点儿懵了
见附件“代码单独运行正常”

我心飞翔1995 发表于 2022-6-5 10:49

没有输出明显是没有执行,你前面的代码有问题或者你运行方式有问题

cdsgg 发表于 2022-6-5 10:56

报错问题和图片不提供 真当坛友是神仙吗

gcode 发表于 2022-6-5 10:56

你得把错误提示发出来看下啊

Vvvvvoid 发表于 2022-6-5 16:38

试试我 的


logger = logging.getLogger()


def init_logging():
    fmt = '%(filename)s-%(funcName)s-[%(lineno)d] - %(threadName)s [%(levelname)s]: %(message)s - %(asctime)s'
    data_format = '[%Y-%m-%d %H:%M:%S]'
    logging.basicConfig(level=logging.INFO,# 打印⽇志等级
                        format=fmt,
                        # ⽇志内容
                        datefmt=data_format,# ⽇期格式
                        filename='./_log.log',# ⽇志存放位置
                        filemode='w'
                        )
    sh = logging.StreamHandler()
    fmt = logging.Formatter(
      fmt='%(filename)s-%(funcName)s-[%(lineno)d] - %(threadName)s [%(levelname)s]: %(message)s',
      datefmt=data_format
    )
    sh.setFormatter(fmt)
    logger.addHandler(sh)
页: [1]
查看完整版本: python语言的logging模块求助