首頁  >  問答  >  主體

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的时候,目录下无日志文件生成。但当在控制台中运行的时候,是可以正常运行的,有知道这种现象如何解决的么? 望告知一下,谢谢。

迷茫迷茫2740 天前828

全部回覆(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
  • 取消回覆