4

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

您在日志记录配置中设置为 DEBUG 的类会输出这个吗?

4

1 回答 1

6

standlone.xml您可以在或domain.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 将是一种方法(请注意 - 它们非常大且分析起来很复杂)。

希望这可以帮助!

于 2013-01-04T16:31:01.103 回答