There are 32 different reports which analog can produce, if your logfiles contain the necessary information. Each one has a short name, and a code letter or number, as follows:
x GENERAL General Summary m MONTHLY Monthly Report W WEEKLY Weekly Report D FULLDAILY Daily Report d DAILY Daily Summary H FULLHOURLY Hourly Report h HOURLY Hourly Summary 4 QUARTER Quarter-Hour Report 5 FIVE Five-Minute Report S HOST Host Report Z ORGANISATION Organisation Report o DOMAIN Domain Report r REQUEST Request Report i DIRECTORY Directory Report t FILETYPE File Type Report z SIZE File Size Report P PROCTIME Processing Time Report E REDIR Redirection Report I FAILURE Failure Report f REFERRER Referrer Report s REFSITE Referring Site Report N SEARCHQUERY Search Query Report n SEARCHWORD Search Word Report k REDIRREF Redirected Referrer Report K FAILREF Failed Referrer Report B FULLBROWSER Browser Report b BROWSER Browser Summary p OSREP Operating System Report v VHOST Virtual Host Report u USER User Report J FAILUSER Failed User Report c STATUS Status Code ReportFor details on what the various reports mean, and a summary of the commands which control them, see the section on Analog's reports.
FIVE OFF REFSITE ONor by using command line arguments like -5 and +s. You can also turn all reports except the General Summary on or off with the commands ALL ON and ALL OFF, or with the command line arguments +A and -A.
You can turn the "Go To" lines in the report off with the command
GOTOS OFFGOTOS ON turns them on again, and GOTOS FEW puts the "Go To" lines just at the top and bottom. GOTOS OFF can be abbreviated with the -X command line argument, and GOTOS ON with +X.
You can turn off the "Program started at" line at the top of the report, and the "Running Time" line at the bottom, with the command
RUNTIME OFFand turn them on again with RUNTIME ON.
The figures in parentheses in the General Summary are for the last seven days: either the seven days before the TO time, or if no TO time is given, the seven days before the time of the program start. The figures for the last seven days are normally included if some, but not all, of the requests fall in those seven days; but you can turn them off by means of the command
LASTSEVEN OFFOf course LASTSEVEN ON turns them on again.
You can change the order of the reports by means of the REPORTORDER command. You should list the code letters for all possible reports in the order you want them. Non-alphanumeric characters are ignored and so can be used as separators. For example,
REPORTORDER x-mdDhH45W-cPz-ritEI-SZo-sNnfKk-uJ-v-bBp
OUTFILE stats.htmor with a command line argument like +Ostats.htm. If you use the filename - or stdout, the output will go to standard output, which is normally the screen, but Unix users might like to redirect it to another file or even into a pipe. You can also use an absolute path name, like
OUTFILE /usr/bin/httpd/htdocs/stats.html # Unix OUTFILE "Hard Disk:Server Apps:WebSTAR:Analog:Report.html" # Mac
Sometimes it's convenient to include the date in the name of the OUTFILE. You can do this by including the following codes in the filename.
%D date of month %m month name %M month number %y two-digit year %Y four-digit year %H hour %n minute %w day of weekSo for example,
OUTFILE stats%y%M.htmlwill produce filenames like stats9905.html. The date used is the TO date if one was specified, and otherwise the time of the start of the program.
As well as a command like
OUTPUT PLAINyou can also select PLAIN style with the command line argument +a, and HTML with the command line argument -a. You can also specify OUTPUT NONE for no output, if you are producing a cache file.
LANGUAGE FRENCHwill give you the output in French. The available languages at the moment are ARMENIAN, BOSNIAN, BULGARIAN, CATALAN, SIMP-CHINESE (GB2312 encoding), TRAD-CHINESE (Big5 encoding), CROATIAN, CZECH, DANISH, DUTCH, ENGLISH, US-ENGLISH, FINNISH, FRENCH, GERMAN, GREEK, HUNGARIAN ICELANDIC, ITALIAN, JAPANESE, KOREAN, NORWEGIAN (Bokmål), NYNORSK, POLISH, PORTUGUESE, BR-PORTUGUESE, ROMANIAN, RUSSIAN, SERBIAN, SLOVAK, SLOVENE, SPANISH, SWEDISH, TURKISH and UKRAINIAN. As new languages are translated, they will be added to the analog home page.
The other way is to use the LANGFILE command. This is useful if you want to download a new language from the analog home page, or if you want to translate one yourself, or even if you want to change some words or phrases or the way the dates and times are formatted in the output. The LANGFILE command tells analog in which file to find the various words and phrases for a new language. For example, the command
LANGFILE lang/guarani.lng # or LANGFILE /usr/etc/httpd/analog/lang/guarani.lngwould read from that file. (Note that you have to include the directory name if the file isn't in the directory or folder which you're running analog from. In particular, it's not assumed to be in the same directory as the other language files.)
Some languages also have domains files available. These are normally selected automatically by the LANGUAGE command. But you can tell analog to use a different domains file with the DOMAINSFILE command. Also, some languages have translations of the form interface or configuration file.
If you want to translate another language, I would be delighted! You'd be wise to contact me first to make sure that no-one else is already translating the same language. The file README.txt in the language directory, and the English language file, contain some brief instructions for translating new languages.
You have to be careful using this command. Because of daylight savings time in operation in different parts of the world at different times, analog cannot attempt to convert between different timezones. So it's your responsibility to set the right offset for different times of year. For example, if you were in Chicago, but your server was recording time in GMT, you would need to specify two different time offsets, one of minus five hours for summer and one of minus six hours for winter. You would need to split your logfiles in the right places and then run commands like
LOGTIMEOFFSET -300 LOGFILE summer*.log LOGTIMEOFFSET -360 LOGFILE winter*.log
There is also a related command called TIMEOFFSET. This tells analog how much to offset the time of the computer on which it is running (rather than the computer running the server), to get your local time.
IMAGEDIR img/ # within the same directory as the output IMAGEDIR /img/ # off the root directory of your server
There are three commands which affect the top line of the output. First, the LOGO command allows you to replace the analog logo with another image (for example, your organisation's logo). You can say
LOGO picture.gif # for this file LOGO /images/picture2.gif # a different file LOGO none # for no logoThe logo is assumed to be inside the IMAGEDIR unless it starts with a slash, or contains ://
Then there are commands HOSTNAME and HOSTURL which affect the name and link at the end of the title line. For example, I might specify
HOSTNAME "Stephen Turner" HOSTURL http://www.statslab.cam.ac.uk/~sret1/to generate the title "Web Server Statistics for Stephen Turner". Again, you can use none as the HOSTURL to specify no link. Analog will normally translate characters in the hostname to HTML if necessary. So to include literal HTML, such as accented characters, in the output you need to precede them by a backslash, like this:
HOSTNAME "M\üller & S\öhne"
HEADERFILE noneto cancel a previously-specified header file.
STYLESHEET /housestyle.css STYLESHEET none # to cancel itHint: a common mistake in writing style sheets is to declare a font-family for the body, but then not put <pre> sections back into a monospaced font. This stops the columns lining up properly. Your style sheet should contain a line like the following:
PRE, TT, CODE, KBD, SAMP { font-family: monospace }
SEPCHAR " " REPSEPCHAR none DECPOINT ,to make "three thousand and a quarter" look like "3 000,25" in text and "3000,25" in the reports.
Stephen Turner
Need help with analog? Use the analog-help mailing list.