Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

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

python
Теги: #<Tag:0x00007f7b6556e8d8>

(Vol) #1

Всем привет,
Есть пайтон скрипт который работает в “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)

(Евгений Бухгаммер) #2

Почти наверняка вы смотрите на появление файла не через эксплорер, а ожидаете увидеть файл в дереве своей 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')