Я использую простой логгер для сохранения отладочной информации в файл.
Моя проблема в том, что я хочу, чтобы каждая строка в журнале начиналась с префиксной информации о запросе (например, user, url), а внутренние функции, активированные представлением, не имеют доступа к параметру запроса.
Я думал о
- передача запроса каждой функции - очень плохо
- взбирается по стеку трассировки, ищет «запрос» в локальных переменных - не уверен, как это сделать, или он будет слишком медленным (скажем, регистрация до 100 раз за запрос)
- окружение функции представления оператором «with», который будет хранить всю информацию запроса в глобальной переменной (ключ = идентификатор потока) - не рекомендуется в качестве угрозы безопасности (http://code.djangoproject.com/wiki/CookBookThreadlocalsAndUser) и требует отступа всего кода в представлении
Есть ли элегантное решение?