【问题标题】:Setting cargo.tomcat.valve values in a build.gradle file在 build.gradle 文件中设置 cargo.tomcat.valve 值
【发布时间】:2020-04-28 18:27:36
【问题描述】:

我想做的事: 我想将 AccessLogValve 添加到 tomcat server.xml 以便我可以记录自定义标头值。 (参考:https://jfrog.com/knowledge-base/how-can-i-log-custom-request-headers-using-the-tomcat-access-log-valve/

我遇到的问题: 每次运行 gradle 时,它​​都会创建新的 server.xml。我想添加一个 cargo.tomcat.valve 容器属性,但是我找不到有效的格式。

我要添加的阀门是Access Log Valvehttps://tomcat.apache.org/tomcat-8.5-doc/config/valve.html#Access_Log_Valve

一个失败的例子是containerProperties ['cargo.tomcat.valve'] = 'className=org.apache.catalina.valves.AccessLogValve| pattern=combined'

我尝试了上述的各种版本,但似乎都没有。

我可以看到maven的例子是

<cargo.tomcat.valve.stuckthread>
    className=org.apache.catalina.valves.StuckThreadDetectionValve|
    threshold=60
</cargo.tomcat.valve.stuckthread>

参考: https://codehaus-cargo.github.io/apidocs/org/codehaus/cargo/container/tomcat/TomcatPropertySet.html#CUSTOM_VALVE

但是我找不到使用 gradle 添加自定义阀门的方法。

【问题讨论】:

    标签: tomcat build.gradle cargo tomcat-valve


    【解决方案1】:

    经过研究,我们发现tomcat的server.xml文件中的访问日志更新可以与>= 2.3的cargo插件版本一起使用(当前最新的是2.7.1,截至2020年4月30日)

    build.gradle中更新valve的例子如下:

    containerProperties  = [
                'cargo.tomcat.ajp.port' : 8050,
                'cargo.tomcat.valve' : "className=org.apache.catalina.valves.AccessLogValve|pattern=%h %l %u %t &quot;%r&quot; %s %b %{X-Custom-Header}i|directory=logs|prefix=localhost_access_log.|suffix=.txt"
        ]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-08-14
      • 2021-04-22
      • 2020-11-18
      • 2015-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多