May 301999

analog – “The most popular logfile analyser in the world”

Well, that’s not my claim, but you can read it for yourself at and make up your own mind.  But what I can say is that analog is a good tool and it is free.

This article will show you how I installed and configured analog.  It’s pretty easy, but there are no man pages for it.  Just html.

The home page for analog is:

A sample of the output is at:

The install

I used the port.  And with ports, it’s very easy to install stuff.  It’s mindless-no-thinking stuff.  Someone else has already done all the hard work for you.   For full port installation instructions, please see Getting a FreeBSD Port in the FreeBSD handbook.

In short, I did the following:

cd /usr/ports/www/analog
make install

The documentation

This was the difficult part.  It’s not that the information is not provided.   It’s that I found the information difficult to find.  My first attempt was the man pages.  But there are none for analog.  Man pages are great in that they always provide the basic command line arguments.  And it was this information which I wanted.

I was lost.

So I went back to the install output and found that it had copied files to /usr/local/share/doc/analog/.   Of course!  I should have known.  That’s a pretty standard place to put documents, as you can tell the from the name.  In fact I went there and found only html files.  See /usr/local/share/doc/analog/Readme.html it will take you to those documents if they exist on your local machine.

NOTE: Shortly after I wrote this article, Nik Clayton gave me a tip on how to determine what a port has installed.

The configuration

Once I’d found the documentation, it was just a matter of reading and trying to understand it.  Here’s what I created for my /usr/home/dan/analog.cfg file:
LOGFORMAT (%S - %u [%d/%M/%Y:%h:%n:%j] "%j %r %j" %c %b)
LOGFILE /path/to/freebsd-access.log  # to set where your logfile lives
OUTFILE /path/to/freebsd-usage.html  # to send the output to a file 
                                     # instead of the screen


Common errors

Well, they may not be common errors, but I made them <grin>.

You must specify the LOGFORMAT before the LOGFILE.  This is documented, but I still missed it.  If I didn’t, I got this error:

analog: Warning D: LOGFORMAT in configuration file analog.cfg with no
  subsequent LOGFILE

If I didn’t specify LOGFORMAT then I got these errors:

analog: Warning F: Can't auto-detect format of logfile
  /var/log/apache/freebsd-access.log: ignoring it
  (For help on all errors and warnings, see docs/errors.html)
analog: Warning R: Turning off empty time reports
analog: Warning R: Turning off empty Request Report
analog: Warning R: Turning off empty File Type Report
analog: Warning R: Turning off empty Directory Report
analog: Warning R: Turning off empty Domain Report
analog: Warning R: Turning off empty Referrer Report
analog: Warning R: Turning off empty Referring Site Report
analog: Warning R: Turning off empty File Size Report
analog: Warning R: Turning off empty Status Code Report

Running analog

Here’s how I ran analog for the first time:
analog -ganalog.cfg 

The -g means to use the configuration file specified.  Note: there is no space after the -g and before the name of the configuration file.

For more information on the configuration options, please refer to /usr/local/share/doc/analog/syntax.html.

Other configuration options

One of the options I wanted to try was referrers amongst other things.  I will write more about that once I start using them.  Cheers.

  2 Responses to “analog – "The most popular logfile analyser in the world"”

  1. Dear, Friend!

    Thank You very much for this article.
    This article is exactly that I needed. After the long searches I found searched.

    Best regards!