有没有办法在JBoss 7.1.1中记录HTTP post数据?

时间:2013-01-02 17:49:12

标签: java jboss jboss7.x

有没有办法在JBoss 7.1.1中记录HTTP post数据?

在日志配置中是否有一个类设置为DEBUG,将输出此类?

1 个答案:

答案 0 :(得分:6)

您可以在standlone.xmldomain.xml个文件的Web子系统中配置http访问日志记录。

以下是一个例子:

<subsystem xmlns="urn:jboss:domain:web:1.0" ....>
    <connector name="http" ... />
    <virtual-server name="default-host" enable-welcome-root="true">
        <whatever aliases you may have defined />
        <access-log>
            <directory relative-to="jboss.server.log.dir"/>
        </access-log>
    </virtual-server>
</subsystem>

或者您可以使用CLI(建议 - 使用选项卡完整功能查找可用属性):

/subsystem=web/virtual-server=default-host/access-log=configuration:add(whatever-attributes-you-want-for-access-log)

根据以下OP的评论进行更新

如果要跟踪HTTP请求内容,则需要启用RequestDumperValve。在JBossAS7中,您无法全局启用它(与AS5或AS6不同)/。您必须在每个部署的基础上启用它。在WEB-INF\jboss-web.xml文件中添加此行:

<valve>
        <class-name>org.apache.catalina.valves.RequestDumperValve</class-name>
</valve>

您不需要为阀门启用访问日志,它将在server.log文件中输出信息。您可以阅读有关RequestDumperValve的更多信息。您可能也对RequestFilterValve感兴趣。

这些阀门通常用于调试目的,但不用于生产用途。因此,请记住这一点,因为它们非常冗长。或者,您可以查看WireSharkFiddler等工具。如果你真的想挖掘更深入的TCPDumps将是可行的方法(谨慎之处 - 它们分析起来非常庞大和复杂)。

希望这有帮助!