Logging 尝试将条目添加到访问日志时发生异常
Tomcat 7无法写入访问日志,并引发以下异常Logging 尝试将条目添加到访问日志时发生异常,logging,tomcat7,Logging,Tomcat7,Tomcat 7无法写入访问日志,并引发以下异常 Nov 17, 2016 5:10:37 PM org.apache.catalina.connector.CoyoteAdapter log WARNING: Exception while attempting to add an entry to the access log java.lang.NullPointerException at org.apache.catalina.connector.CoyoteAdapt
Nov 17, 2016 5:10:37 PM org.apache.catalina.connector.CoyoteAdapter log
WARNING: Exception while attempting to add an entry to the access log
java.lang.NullPointerException
at org.apache.catalina.connector.CoyoteAdapter.log(CoyoteAdapter.java:555)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:182)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
如何解决这个问题?这是Tomcat中的一个已知问题,在Tomcat 8.0.29中已经解决。升级Tomcat应该可以解决这个问题。 另一种方法是修改访问日志模式,使其不包含cookie。使用类似以下内容:
pattern="%t %H request:%{SESSIONID}r %m %U %s %q %r"
而不是
pattern="%t %H cookie:%{SESSIONID}c request:%{SESSIONID}r %m %U %s %q %r"
在server.xml中
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>