t.me/atinfo_chat Telegram группа по автоматизации тестирования

Логирование в файл используя python logging

Теги: #<Tag:0x00007f74870e8e60>

Всем привет,
Есть пайтон скрипт который работает в “while true” лупе для монитринга информации.

Хочу прикрутить логирование в файл используя стандартную библиотеку logging. Проблема в том что “out.log” файл появляется только после того как я принутельно завершу скрипт что мне не подходит, т.к хочу видеть все что происходит в файле в тот же момент когда посылаю сообщение.

import logging
import time

    logging.basicConfig(format='%(asctime)s | %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p', filemode='w', filename="out.log")
    
    while True:
        logging.warning('is when this event was logged.')
        time.sleep(0.1)

Почти наверняка вы смотрите на появление файла не через эксплорер, а ожидаете увидеть файл в дереве своей IDE JetBrains :wink: файл отобразится в списке с опозданием ( по завершении цикла) или же по клику на любое другое окно и возвращению в PyCharm.

Убедитесь, что файл существует после лог рекорда :

    import logging
    import time
    import os

    logging.basicConfig(format='%(asctime)s | %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p', filemode='w', filename="out.log")
    
    while True:
        logging.warning('is when this event was logged.')
        time.sleep(0.1)
        print "File exists? - '%s' " % os.path.exists('out.log')
1 Симпатия