Найти - Пользователи
Полная версия: Логгирование в базу
Начало » Django » Логгирование в базу
1
dmc
Такая задача:
есть некоторый класс, который отвечает за обработку файлов. Т.е. на вход получает его имя и дальше производит его обработку:

class loader():
    def __init__(self, file=...):
        self.file = file
        ...
    def func1(self):
        ...
необходимо добавить в него логгинг, и запись итогового лога в базу. Т.е. инициализируем обработку, после которой начинают сыпаться информация в лог. по завершении мы ее собираем всю, и сохраняем в текстовое поле БД. Параллельно может быть инициализировано несколько обработчиков и у каждого должен быть отдельный лог.
Насколько я понял, нужно в настройках проекта в LOGGING добавить специальный handler, и тогда код станет таким:
class loader():
    def __init__(self, file=...):
        logger_loader = logging.getLogger('loader_info')
        self.file = file
        ...
    def func1(self):
        ...
        logger_loader.info(u'....')
    def savetobase(self):
        # собираем все логгеры, создаем запись в БД и пишем весь текст туда
Вопрос: какой хендлер подойдет для данной задачи? Никак не соображу :( были идеи сделать через MemoryHandler либо FileHandler. Может кто сталкивался с такой задачей, буду признателен за подсказку.
inoks
посмотри на этот проект, он пишет логи в базу напрямую, думаю сможешь на базе него реализовать свои потербности
https://github.com/dcramer/django-db-log
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB