使用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
但这不起作用。任何想法如何做到这一点?