线上jetty环境如何配置request log

第一种方法,最简单便捷,适应于要求不高的场景

首先要enable request log模块,通过以下命令

$ java -jar ../start.jar --add-to-start=requestlog

INFO: requestlog      initialised in ${jetty.base}/start.d/requestlog.ini
MKDIR: ${jetty.base}/logs
INFO: Base directory was modified

注意从$JETTY_HOME和从$JETTY_HOME/demo-base下启start.jar,是用的不同的jetty.base, jetty推荐把web application放到demo-base下面。具体细节可参考 Deploy to Jetty

此时去demo-base/start.d/下面新添加了requestlog.ini文件,编辑此文件可以看到各种有关于requestlog的默认配置,如果需要更改默认配置,直接un-commenting这行,然后把false改为true即可,十分方便。

上述这种方法用的是默认的Jetty的RequestLog实现方式org.eclipse.jetty.server.NCSARequestLog, 如果想要用自己定制的requestlog实现类,那么可以自己实现jetty的RequestLog接口。用下面这种方式实现自由的自定义化。

第二种方法

在jetty.xml里添加handler的方式,自定义使用log实现类

<Call name="insertHandler">
     <Arg>
       <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler">
        <Set name="requestLog">
        <New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog">
        <Set name="filename"><Property name="jetty.logs" default="./logs"/>/yyyy_mm_dd.request.log</Set>
        <Set name="filenameDateFormat">yyyy_MM_dd</Set>
        <Set name="LogTimeZone">GMT</Set>
        <Set name="retainDays">90</Set>
        <Set name="append">true</Set>
        <Set name="LogLatency">true</Set>
        </New>
        </Set>
      </New>
     </Arg>
</Call>

可以在<New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog">里

定义使用自己喜欢的requestlog实现类。至于用其他的requestLog的实现类,可以参考

https://logback.qos.ch/access.html

这篇是logback实现的requestLog。

参考文献:

https://www.eclipse.org/jetty/documentation/9.4.x/configuring-jetty-request-logs.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值