vas3k/loggy — pull request #1 by themylogin (2013-03-22 03:59:09+00:00)
Title: SQLAlchemy models + real-life werkzeug usage fixes

### Общие замечания
cloggy/senders.py - если икал во сне, извини, это я устанавливал postgresql. Не ожидал от тебя raw SQL. Создай модели или давай я создам.
### Werkzeug:
Мне не хочется оборачивать свои вьюхи твоим декоратором. Лишняя связность. Извини.
Есть такая штука local: http://werkzeug.pocoo.org/docs/local/ и в нём все хранят request, чтобы не таскать его всюду с собой и при этом откуда угодно иметь доступ. В том числе и из logging handler'а, например.
Предлагаю ввести абстракцию RequestProvider: callable, который возвращает этот самый request или None. Пример:
```python
request_provider = lambda: getattr(local, "request", None)
```
Таким образом, чтобы подключить библиотеку к проекту на werkzeug, нужно будет всего лишь сделать logger.addHandler(WerkzeugLoggingHandler(request_provider=...)) (а вьюхи не трогать, они тут не при чём).