Enabling Access Logging in FishEye

To enable access logging in FishEye 3.0 and later:

  1. Stop Fisheye/Crucible,
  2. Create the file <FishEye install directory>/content/WEB-INF/jetty-web.xml with the following content:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure.dtd" >
    <Configure class="org.eclipse.jetty.webapp.WebAppContext">
      <Set name="handler">
        <New class="com.cenqua.fisheye.web.jetty.FishEyeRequestLogHandler">
          <Set name="requestLog">
            <New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog">
              <Arg><SystemProperty name="jetty.logs" default="./var/log/" />fisheye-access-yyyy_mm_dd.log</Arg>
              <Set name="retainDays">90</Set>
              <Set name="append">true</Set>
              <Set name="extended">false</Set>
              <Set name="LogTimeZone">GMT</Set>
            </New>
          </Set>
        </New>
      </Set>
    </Configure>
    
  3. Restart Fisheye/Crucible.

This will create an access log in <FishEye install directory>/var/log/fisheye-access-yyyy_mm_dd.log format (e.g. fisheye-access-2010_03_17.log). If you want to change the path to your FISHEYE_INST directory, change the default="./var/log/" to the path to the log folder in FISHEYE_INST.

The log directory must exist

If the path to the log directory given by the default attribute of the SystemProperty tag (defined in the line 10 in the jetty-web.xml above) does not exist, then FishEye will fail to start and will not log any error message.

The path given in the example below is correct when FISHEYE_INST and the <FishEye install directory> are the same directory, otherwise please use the absolute path of your FISHEYE_INST/var/log directory.

Log format

The logs are written in NCSA format:

172.20.5.186 -  -  [17/Mar/2010:22:50:21 +0000] "GET /fe/commitSparkline.do?w=280&h=48&context=repository&repname=TestRepo&outputtype=image HTTP/1.1" 200 256
172.20.5.186 -  -  [17/Mar/2010:22:50:21 +0000] "GET /fe/commitSparkline.do?w=280&h=48&context=repository&repname=npanday&outputtype=image HTTP/1.1" 200 177
172.20.5.186 -  -  [17/Mar/2010:22:50:21 +0000] "GET /fe/commitSparkline.do?w=280&h=48&context=repository&repname=jutils&outputtype=image HTTP/1.1" 200 775
172.20.5.186 -  -  [17/Mar/2010:22:50:21 +0000] "GET /fe/commitSparkline.do?w=280&h=48&context=repository&repname=P4&outputtype=image HTTP/1.1" 200 177
172.20.5.186 -  -  [17/Mar/2010:22:50:21 +0000] "GET /fe/commitSparkline.do?w=280&h=48&context=repository&repname=Rails&outputtype=image HTTP/1.1" 200 1311
172.20.5.186 -  -  [17/Mar/2010:22:50:22 +0000] "GET /fe/commitSparkline.do?w=280&h=48&context=repository&repname=FE-2363&outputtype=image HTTP/1.1" 200 128 

Please refer to the Jetty documentation for more configuration options.

Compatibility

If you are using an earlier version of FishEye than FishEye 2.7.8, replace com.cenqua.fisheye.web.jetty.FishEyeRequestLogHandler by org.mortbay.jetty.handler.RequestLogHandler.

FishEyeRequestLogHandler was added in 2.7.8 to fix an issue where the user credentials would not be added to the NCSA log: FE-3040.

Was this helpful?

Thanks for your feedback!

Why was this unhelpful?

Have a question about this article?

See questions about this article

Powered by Confluence and Scroll Viewport