В журнале Python добавляется дополнительная новая строка при записи в файл (но не в стандартный вывод) - PullRequest
1 голос
/ 17 мая 2019

Я настроил регистратор Python (3.6.5) в Windows 7 для одновременной записи в файл и стандартный вывод следующим образом:

def __filehandler() -> logging.FileHandler:
    filehandler = logging.FileHandler(LOGFILE, encoding="cp932")
    filehandler.setLevel(logging.DEBUG)
    fformatter = logging.Formatter("%(asctime)s: %(name)-13s: %(levelname)-8s: %(message)s")
    filehandler.setFormatter(fformatter)

    return filehandler


def __streamhandler() -> logging.StreamHandler:
    streamhandler = logging.StreamHandler()
    streamhandler.setLevel(logging.DEBUG)
    sformatter = logging.Formatter("%(name)-13s: %(levelname)-8s: %(message)s")
    streamhandler.setFormatter(sformatter)

    return streamhandler


def getlogger(calling_module_name: str) -> logging.Logger:
    logger = logging.getLogger(calling_module_name)
    logger.setLevel(logging.DEBUG)
    logger.addHandler(__filehandler())
    logger.addHandler(__streamhandler())

    return logger

, а затем использую его, вызывая logger.info(some_text)

Stdout выглядит как ожидалось :

mymodule: INFO    : Reading file #1/2, line #42/164: /****************************************************************************/
mymodule: INFO    : Writing file #1/2, line #42/164: /****************************************************************************/
mymodule: INFO    : Reading file #1/2, line #43/164:
mymodule: INFO    : Writing file #1/2, line #43/164:
mymodule: INFO    : Reading file #1/2, line #44/164:
mymodule: INFO    : Writing file #1/2, line #44/164:

Но в соответствующем файле есть дополнительные, не учтенные символы новой строки :

2019-05-17 12:21:11,824: mymodule: INFO    : Reading file #1/2, line #42/164: /****************************************************************************/

2019-05-17 12:21:11,824: mymodule: INFO    : Writing file #1/2, line #42/164: /****************************************************************************/
2019-05-17 12:21:11,824: mymodule: INFO    : Reading file #1/2, line #43/164: 

2019-05-17 12:21:11,824: mymodule: INFO    : Writing file #1/2, line #43/164: 

2019-05-17 12:21:11,824: mymodule: INFO    : Reading file #1/2, line #44/164: 

2019-05-17 12:21:11,839: mymodule: INFO    : Writing file #1/2, line #44/164: 

Изменение *От 1017 * до filehandler = logging.FileHandler(LOGFILE) не действует.

Добавленные новые строки наносят ущерб ясности журнала и излишне увеличивают его размер.Есть идеи, что здесь происходит?

...