2012-06-21 4 views
2

Я действительно смущен об этом фильтре в журнале. Я прочитал кулинарные книги документов и журналов.
У меня есть приложение, написанное в нескольких файлах. Каждый файл имеет класс и его исключения.
- главный файл: MCM
- в MCM импортировать конфигуратор и инициировать его класс
- в конфигураторе импортировать rosApi и инициировать его классpython logging filter

То, что я хочу добиться:
- в главном файле, решить с какие модули и их уровни я хочу зарегистрировать.
- один обработчик для всех. конфигурируется в основном файле

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

Например:
Если я передаю -d, он будет печатать (дополнительно) всю информацию об отладке из конфигуратора, но не rosApi.
Если я прохожу -Д он будет печатать все отладить из конфигуратора И rosApi

+0

Вы должны привести примеры того, что вы пробовали. –

ответ

0

Что я могу сделать, это создать модуль регистратора, то вдоль этих линий:

import os 
import logging 

logger = logging.getLogger() 
fh = logging.handlers.RotatingFileHandler(logfile, maxBytes=10000000, backupCount=10) 
fm = logging.Formatter('%(asctime)s %(module)s %(levelname)s %(message)s') 
fh.setFormatter(fm) 
logger.addHandler(fh) 
level = os.environ['LOGGING'].upper() 
level = getattr(logging, level) 
logging.getLogger().setLevel(level) 

тогда я делаю import logger в верхней части все мои модули.