Я настроил регистратор 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)
не действует.
Добавленные новые строки наносят ущерб ясности журнала и излишне увеличивают его размер.Есть идеи, что здесь происходит?