You might want to add this method to AccessLogInterceptor -- It basically flushes the log to disk during shutdown. I ran into a couple of cases where the streams weren't properly flushed and the log was missing. It may be appropriate to do this in a finalize too. public void engineShutdown(ContextManager cm) throws TomcatException { try { getFileWriter().flush(); getFileWriter().close(); } catch (IOException e) { e.printStackTrace(); } } Mike