Я работаю в большом модуле python (Python 2.6.6) и выполняя вход в тысячи мест, и я использую модуль logger python. Теперь я хочу игнорировать исключение, которое создается во время ведения журнала. Один из основного сценария, который может быть возможным являетсяКак игнорировать исключение, которое генерируется при регистрации в python?
import glob
import logging
import logging.handlers
LOG_FILENAME = '/home/abc/logging_rotatingfile_example.out'
my_logger = logging.getLogger('MyLogger')
my_logger.setLevel(logging.DEBUG)
# Add the log message handler to the logger
handler = logging.handlers.RotatingFileHandler(
LOG_FILENAME, maxBytes=20, backupCount=5)
my_logger.addHandler(handler)
# Log some messages
for i in range(20):
my_logger.debug('i = %d' % i)
Теперь предположим, что во время my_logger.debug('i = %d' % i)
некоторые, как файл будет удален из системы или разрешения изменены и регистратор не мог в состоянии войти из-за сбоя диска, диск полный и т. д. в файле журнала и генерировать исключение на экране. Распределенная система и n число процессов используют модуль регистрации. Обратите внимание, что процесс не должен прерываться из-за исключения регистрации (из-за сбоя диска, полного диска и т. Д.). Так что я хочу, чтобы это исключение игнорировалось.
ПРИМЕЧАНИЕ: Теперь один из способов, которым я знаю, чтобы сделать класс обертки на регистраторе python и использовать try-except, кроме функции logger. Но у меня разные требования, и я не хочу использовать этот способ, так что есть ли другой способ сделать это или любой атрибут журнала python, который может быть полезен для моего состояния?
Почему нет 'try'-'except'? – Falko
Вы можете попробовать выполнить ведение журналов с помощью собственного класса, но вам нужно будет использовать try-except, чтобы игнорировать исключения. – eli