3c915e3575
the original code looked somehow like it was meant to have a lazy on-demand behaviour, just computing what is used in the format string for log output. problem is that this doesn't really happen practically, the logging code requests ALL values for all keys. as this stuff is used rather often, the new code was optimized to just build a dictionary of values rather cheaply. support for request.host was removed as I suspect the required socket operation might be not be cheap enough.