2015-05-21 1 views
1

В моем Джанго приложении я должен включить регистратор почти на каждой странице около 30 различных файлов, как этогоЕсть ли способ в Django включить некоторый модуль в каждой странице

import logging 
logger_test = logging.getLogger('test') 

logger_test.info('test') 

Есть ли способ, который получает включен в все файлы и я могу просто запустить

logger_test.info('test') 

ответ

3

Во-первых, я бы предпочел просто положить logger_test где-то и с помощью from myapp import logger_test. Одна дополнительная строка в файле гораздо менее вероятна, чем нанести ущерб, чем следующая.

Вы можете сделать это с использованием соответствующего модуля builtins (py2 __builtins__). Просто добавьте регистратор к модулю встроенных модулей где угодно, поместив его в settings.py, вероятно, хороший выбор.

import builtins 
import logging 

logger = logging.getLogger('test') 
setattr(builtins, 'logger_test', logger) 

Теперь каждый модуль будет иметь logger_test. Последнее предупреждение, это действительно страшная идея.

+0

спасибо за это, я просто держу его во время разработки, а затем удаляю его – user3214546

Смежные вопросы