Я хотел зарегистрировать сообщения из другого модуля в python в файл. Также мне нужно распечатать некоторые сообщения для консоли для целей отладки. Для этой цели я использовал модуль журнала. Но модуль logger будет записывать все журналы с заданной строгостью и выше в файл или консоль.Как обмениваться файлами между модулями для входа в python
Я хотел только сообщения, записанные в файл, и он не должен включать сообщения с консоли.
Аналогично, сообщения консоли не должны содержать сообщений, записанных в файл.
Мой подход состоял бы в том, чтобы иметь одноэлементный класс, который разделяет операцию записи файлов между различными модулями.
Есть ли более простой подход, чем это в python?
EDIT: Я новичок в Python. Пример программы я попытался
logger = logging.getLogger('simple_example')
logger.setLevel(logging.INFO)
# create file handler which logs even debug messages
fh = logging.FileHandler('spam.log')
fh.setLevel(logging.CRITICAL)
# create console handler with a higher log level
ch = logging.StreamHandler()
ch.setLevel(logging.ERROR)
# create formatter and add it to the handlers
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
ch.setFormatter(formatter)
fh.setFormatter(formatter)
# add the handlers to logger
logger.addHandler(ch)
logger.addHandler(fh)
# 'application' code
logger.debug('debug message')
logger.info('info message')
logger.warn('warn message')
logger.error('error message')
logger.critical('critical message')
консоли принты:
2015-02-03 15:36:00,651 - simple_example - ERROR - error message
2015-02-03 15:36:00,651 - simple_example - CRITICAL - critical message
#I don't want critical messages in console.
ваши пытавшихся 'logging' обработчики? –
Да, я пробовал. Но я не знаю, как это решит проблему. – Knight71
, по каким критериям вы хотите отделить вывод вывода вывода и вывода файла? –