Created attachment 22595 [details] Patch that corrects this bug When configuring the AccessLogValve valve to use the combined log format and either referer or user-agent fields are unavailable in the request, the corresponding log entry fields will contain "(null)" instead of "-". This behaviour breaks access log analyzers like AWStats and I believe it's also a violation of the log spec. Included is a patch that I believe will correct the problem. The patch make sure that any non-existing header will be logged as '-' instead of trying to log a null pointer. I stumbled on this problem when upgrading from Tomcat 5.5 to 6.0.16 using Debian etch and JDK 6. Tomcat 5.5 didn't suffer from this issue. I haven't yet tried Tomcat 6.0.18 but the AccessLogValve.java file seems to be unchanged between the two releases so I suspect the problem still exists.
Thanks for the report and the patch. I have applied a slightly modified patch to trunk and proposed it for 6.0.x.
This has been committed to 6.0.x and will be included in 6.0.19 onwards. Thanks again for the patch.