log once per request