Solr6.6配置jetty访问日志

本文介绍如何在Solr使用Jetty时配置access日志。通过修改jetty.xml及在solr-jetty-context.xml中增加RequestLogHandler,可使Jetty记录详细的访问日志。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

solr6.6使用自带jetty启动时,默认只有solr自己的日志,如果需要jetty的access日志,可以按如下方式配置。

本来自带jetty的jetty.xml文件中有如下配置:

    <!-- =========================================================== -->
    <!-- Configure Request Log                                       -->
    <!-- =========================================================== -->
    <!--
    <Ref id="Handlers">
      <Call name="addHandler">
        <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">
                   logs/request.yyyy_mm_dd.log
                </Set>
                <Set name="filenameDateFormat">yyyy_MM_dd</Set>
                <Set name="retainDays">90</Set>
                <Set name="append">true</Set>
                <Set name="extended">false</Set>
                <Set name="logCookies">false</Set>
                <Set name="LogTimeZone">UTC</Set>
              </New>
            </Set>
          </New>
        </Arg>
      </Call>
    </Ref>
    -->

放开注释就会启动报错,不是很熟悉jetty,也就没有深入研究了,于是换了一种方式实现。

1、首先将solr/server/etc/jetty.xml中原来的RequestLog节点(找到如下内容)注释掉:

<!--
  <Item>
      <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler"/>
   </Item>
-->

2、在solr/server/contexts/solr-jetty-context.xml中添加如下内容:

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
    ....
 
  <!-- access log:client IP address, date, method, URL, result, size, referrer, user agent and latency -->
  <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="/data/solr/logs"/>/access-yyyy_mm_dd.log</Set>
            <Set name="filenameDateFormat">yyyy_MM_dd</Set>
            <Set name="LogTimeZone">GMT+0800</Set>
            <Set name="retainDays">90</Set>
            <Set name="append">true</Set>
            <Set name="LogLatency">true</Set>
          </New>
        </Set>
      </New>
    </Arg>
  </Call>
 
</Configure>

其中,LogTimeZone为jetty记录日志的时区,比如GMT+0800或者Asia/Shanghai。

重启solr后,在上面配置的{jetty.logs}目录下便会按天生成access-yyyy_mm_dd.log格式的访问日志。

 

转载于:https://my.oschina.net/nivalsoul/blog/1553175

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值