Multiplatform 'convlog' replacement
C++ C Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
source
.gitignore
LICENSE.md
README.md
rconvlog.sln

README.md

Rebex CONVLOG v1.6

RCONVLOG (Rebex Internet Log Converter) converts web server log files from W3C log format into NCSA log format. It can be very useful especially when using a log analyzer which does not support a native IIS format or a W3C Extended format (e.g. excellent Webalizer - http://www.webalizer.org)

IIS is shipped with a similar program called convlog, which is able to convert web server log files into NCSA Common Log format. However, using Microsoft convlog causes some problems: Original convlog does not convert user agents (browsers) and referrers. It also ignores all uploads, which makes generating statistics from FTP log files impossible.

RCONVLOG deals with all those difficulties - it is nearly identical to original convlog, but it does work as expected. In most cases, RCONVLOG can be used as an out-of-the-box replacement or a bugfix release of the original ;-)

Advantages of RCONVLOG:

  • supports browsers
  • supports referrers
  • upload, download or both can be choosen for conversion
  • a powerful and efficient DNS lookup and a caching mechanism
  • Linux and FreeBSD ports are also available

Other features of RCONVLOG:

  • converts web server log files from W3C Log Format to NCSA Common Log format
  • supports browser agents
  • supports referrers
  • supports both upload and download
  • a powerful and efficient DNS lookup and a caching mechanism
  • a call format is compatible with Microsoft convlog.

Note: Currently, RCONVLOG only understands W3C Extended format. If you need to process MS Internet Standard Log File Format or NCSA Common Log format, mail us - we will add it upon first request.

Availability

FREEWARE. Can be downloaded from http://labs.rebex.net/rconvlog

Portability:

Platforms:

  • Windows
  • Cygwin (Unix environment for Windows - http://www.cygwin.com)
  • Linux (tested on RedHat 7 and Debian 3, but should compile with other distributions as well)
  • FreeBSD (tested on 4.6.2)

Compilers:

  • Microsoft Visual C++
  • GCC

Thanks to Christophe Paquin (http://www.cwd.fr) for initial unix port.
Thanks to interactivate.com for initial cookies support.

Usage:

rconvlog [options] LogFile1 [LogFile2] [LogFile3] ...

LogFile

File(s) is W3C format to be converted - may contain wildcards such
as ? and *.

-o

Directory where logfiles in NCSA Combined format will be created.
Default is current directory. Created files will have filename
of the original ones + extension ".ncsa" (or "ncsa.dns" for -d option).

-c

Use this file as hostname cache. If filename without path is specified,
path of RCONVLOG.exe (use .\filename to specify
file in current directory). Cache saves time when executing RCONVLOG
multiple - resolved hostnames can be reused.

-t <ncsa[:GMTOffset]>

Specifies GTM Offset to use in NCSA logfile. Default is ncsa:+0000.

-d Convert IP addresses to domain names if possible.

-w Overwrite existing NCSA log files (default is append).

-b<0|1|2|3>

How to log bytes sent:
0 = be compatible with convlog (default)
1 = log bytes sent from server to client only (download)
2 = log bytes sent from client to server only (upload)
3 = log sum of bytes sent both ways (upload and download)

-n YYYY-MM-DDTHH:NN:SS

Ignore records older than specified datetime (eg. -n 2001-12-20T00:00:00)

-u Turn on cookie support

Urchin (http://www.urchin.com/) log analysis feature called UTM
(urchin tracking module) requires IIS to turn on the cs(Cookie) field.
This option appends the cookie field to the NCSA-format log.
Sample IIS log header from Urchin UTM-enabled site:

#Fields: date time c-ip cs-username s-ip s-port cs-method cs-uri-stem cs-uri-query
sc-status cs(User-Agent) cs(Cookie) cs(Referer)

-h H Ignore records older than H hours (eg. -h 164)

Version history

v1.0 - 2001-05-17 - initial version
v1.1 - 2001-10-30 - added support for ignoring old records (-n and -h arguments)
v1.2 - 2002-01-06 - fixed a simple bug which caused rconvlog to ignore january records
v1.3 - 2002-12-17 - many enhancements and smaller bug fixes
                  - rconvlog now compiles on windows and unix
                  - changed the way of progress reporting
v1.4 - 2004-07-08 - fixed a bug that caused fields to be ignored if their number
                    exceeded 21
v1.5 - 2005-04-29 - fixed a bug that caused negative offsets of -t argument to fail
                  - output directory specified by -o and input files specified
                    by LogFile arguments are now combined to an output path
                    correctly
v1.6 - 2009-01-22 - added switch to append cookie field to NCSA-format log

Copyright (c) 2001-2009 Rebex
Written by Lukas Pokorny (lukas.pokorny@rebex.net)
http://wwww.rebex.net