搜索

首页  >  问答  >  正文

python的logging无法输出到文件?

logging配置如下:

logging.basicConfig(level=logging.DEBUG,\

format="%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s",\
datefmt="%a, %d %b %Y %H:%M:%S",\
filename="i2_insert_equipments.log",\
filemode="w")

但当在代码中使用logging.info的时候,目录下无日志文件生成。但当在控制台中运行的时候,是可以正常运行的,有知道这种现象如何解决的么? 望告知一下,谢谢。

迷茫迷茫2803 天前883

全部回复(3)我来回复

  • 高洛峰

    高洛峰2017-04-18 10:09:05

    你不会用,我给你一个例子

    #! /usr/bin/env python
    
    import sys
    import logging
    
    def add_log_file(infile=None):
        logger = logging.getLogger()
        if infile is not None:
            handler = logging.FileHandler(infile)
        else:
            handler = logging.StreamHandler()
        logger.handlers.append(handler)
        return
    
    def main():
        for c in sys.argv[1:]:
            add_log_file(c)
        for c in sys.argv[1:]:
            logging.error('%s'%(c))
    
    
    main()

    回复
    0
  • PHP中文网

    PHP中文网2017-04-18 10:09:05

    filename 的问题吧,你指定个绝对路径,然后再试试,filemode="w"你这样的话,每次会生成一个新文件,

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:09:05

    在交互式命令行下的环境是不同的,特别是对于某些涉及到文件和系统的操作,比如你可以试试在交互式命令行下新建进程.

    回复
    0
  • 取消回复