proxy: log when failFunc is nil
proxy: simplify failFunc using time.After