public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
String threadName = Thread.currentThread().getName();
try {
Thread.currentThread().setName(String.format(
"%1$s_[started:%2$s | user:%3$s | uri:%4$s]_%1$s",
threadName, timeNow(), user(), uri(request)));
chain.doFilter(request, response);
} finally {
Thread.currentThread().setName(threadName);
}
}