От новичка до гуру: Курсы программирования на CyberDuff

ведение журнала python только в файл

У меня есть cronjob, на котором запущен скрипт Python, к которому я добавил logging, но, поскольку это ежедневная работа, меня очень раздражает, что я получаю ежедневные электронные письма о его функции, но я не могу найти параметр, который заставит его регистрировать только в лог файл.

#!/usr/bin/python
import logging, logging.handlers
LOGFILENAME = "log.log" 
logging.basicConfig()
log = logging.getLogger("nameoflog")
log.setLevel(logging.DEBUG) 
handler = logging.handlers.WatchedFileHandler(LOGFILENAME)
handler.setLevel(logging.DEBUG)
handler.setFormatter(logging.Formatter("%(asctime)-15s %(levelname)-8s %(name)s %(message)s")) 
log.addHandler(handler)
log.info("something happening")

Как сделать так, чтобы logging писала только в файл, а не в файл и STDOUT?

14.11.2015

Ответы:


1

Проблема в том, что вы вызываете logging.basicConfig(), что настраивает ведение журнала на stdout. basicConfig — это просто вспомогательный метод, используемый, когда вы не хотите делать более подробные вызовы журналов. Поскольку вы настраиваете методы самостоятельно, вам не следует вызывать basicConfig.

14.11.2015

2

Вот пример, который у меня работает (он не выводит сообщение на стандартный вывод, а только на example.log):

def logToFile():
    import logging
    logging.basicConfig(filename='example.log',level=logging.DEBUG)
    logging.info("trying to log to file")

logToFile()
14.11.2015
Новые материалы

Отслеживание состояния с течением времени с дифференцированием снимков
Время от времени что-то происходит и революционизирует часть моего рабочего процесса разработки. Что-то более забавное вместо типичного утомительного и утомительного процесса разработки. В..

Я предполагаю, что вы имеете в виду методы обработки категориальных данных.
Я предполагаю, что вы имеете в виду методы обработки категориальных данных. Пожалуйста, проверьте мой пост Инструментарий специалиста по данным для кодирования категориальных переменных в..

Игра в прятки с данными
Игра в прятки с данными Я хотел бы, чтобы вы сделали мне одолжение и ответили на следующие вопросы. Гуглить можно в любое время, здесь никто не забивается. Сколько регионов в Гане? А как..

«Раскрытие математических рассуждений с помощью Microsoft MathPrompter и моделей больших языков»
TL;DR: MathPrompter от Microsoft показывает, как использовать математические рассуждения с большими языковыми моделями; 4-этапный процесс для улучшения доверия и рассуждений в математических..

Раскройте свой потенциал в области разработки мобильных приложений: Абсолютная бесплатная серия
Глава 6: Работа в сети и выборка данных Глава 1: Введение в React Native Глава 2: Основы React Native Глава 3: Создание пользовательского интерфейса с помощью React Native Глава 4:..

Все о кейсах: Camel, Snake, Kebab & Pascal
В программировании вы сталкивались с ними при именовании переменной, класса или функции. Поддержание согласованности типов и стилей случаев делает ваш код более читабельным и облегчает совместную..

Как работает дистанционное парное программирование и почему оно может изменить вашу жизнь
Серебряная пуля от одиночества и отвлекающих факторов во время обучения программированию Независимо от того, работаете ли вы или учитесь удаленно, велика вероятность, что одиночество и..