Maison  >  Questions et réponses  >  le corps du texte

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 Il y a quelques jours831

répondre à tous(3)je répondrai

  • 高洛峰

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

    Si vous ne savez pas comment l'utiliser, je vais vous donner un exemple

    #! /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()

    répondre
    0
  • PHP中文网

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

    Le problème avec le nom de fichier est que vous spécifiez un chemin absolu puis réessayez, filemode="w". Si vous faites cela, un nouveau fichier sera généré à chaque fois,

    répondre
    0
  • 伊谢尔伦

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

    L'environnement sous la ligne de commande interactive est différent, notamment pour certaines opérations impliquant des fichiers et des systèmes. Par exemple, vous pouvez essayer de créer un nouveau processus sous la ligne de commande interactive.

    répondre
    0
  • Annulerrépondre