`gevent` has broken logger (actually, it doesn't use a true logger at all, just it writes to a whatever writable is provided). `gevent-websocket` takes over and tries to fix this, but we have to provide the our logger. The original logging format is verbose,  so I override `format_request()` to make it shorter and more pleasant to read (e.g. display service time scaled and with appropriate units).