【发布时间】:2012-06-09 21:58:58
【问题描述】:
使用 Tomcat,可以通过配置适当的阀门将一堆有趣的信息转储到日志文件中。
例如:
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="localhost."
suffix=".txt"
pattern='%s %b %I %{myname}s'
resolveHosts="false"/>
意思是:
- %s - 输出响应的 HTTP 状态码
- %b - 发送的输出字节数,不包括 HTTP 标头,如果为零,则为“-”
- %I - 线程 ID
和%{myname}的意思是输出存储在会话中的属性myname的值。
一切都好。如果我的会话中存储了一个哈希图,我可以通过执行以下操作来输出:
%{mymap}s
请参阅http://tomcat.apache.org/tomcat-5.5-doc/config/valve.html 了解更多信息。
但是,我只想输出特定键的值,而不是整个地图。我试过了:
%{mymap.myatt}s
但这不起作用。任何想法如何做到这一点?
【问题讨论】:
标签: tomcat logging tomcat6 tomcat-valve