Skip to main content

Convert IRC logs to HTML

Project description

Converts IRC log files to HTML with pretty colours.

Quick start


pip install irclog2html

Quick usage for a single log file:

irclog2html --help
irclog2html filename.log                  (produces filename.log.html)

Mass-conversion of logs (one file per day, with YYYY-MM-DD in the filename) with next/prev links, with mtime checks, usable from cron:

logs2html directory/     (looks for *.log and *.log.gz, produces *.log.html)

Configuration files

Since you probably don’t want to keep specifying the same options on the command line every time you run logs2html, you can create a config file. For example:

-t 'IRC logs for #mychannel'
-p 'IRC logs for #mychannel for '
# the following needs some extra Apache setup to enable the CGI script
# where we keep the logs

Use it like this:

logs2html -c /path/to/mychannel.conf

Lines starting with a # are ignored. Other lines are interpreted as command-line options.

The order matters: options on the command line before the -c FILE will be overriden by option in the config file. Options specified after -c FILE will override the options in the config file.

You can include more than one config file by repeating -c FILE. You can include config files from other config files. You can even create loops of config files and then watch and laugh manically as logs2html sits there burning your CPU.

CGI script for log searching


The script can be easily abused to cause a denial of service attack; it parses all log files every time you perform a search.

You can generate search boxes on IRC log pages by passing the --searchbox option to logs2html. Here’s an example Apache config snippet that makes it work:

RewriteRule ^/my-irclog/search/$ /my-irclog/search [R,L]
ScriptAlias /my-irclog/search /usr/local/bin/irclogsearch
<Location /my-irclog/search>
  SetEnv IRCLOG_LOCATION "/var/www/my-irclog/"
  # Uncomment the following if your log files use a different format
  #SetEnv IRCLOG_GLOB "*.log.????-??-??"
  # (this will also automatically handle *.log.????-??-??.gz)


2.13.0 (2013-12-18)

2.12.1 (2013-03-22)

2.12.0 (2013-03-18)

  • Moved to Github.
  • Add support for Python 3.3.
  • Drop support for Python 2.4 and 2.5.
  • Fix URL linkifier to not include trailing punctuation (LP#1155906).

2.11.1 (2013-03-17)

  • logs2html also accepts filenames that contain YYYYMMDD dates (in addition to YYYY-MM-DD). Patch by Holger Just. Fixes LP#1031642.

2.11.0 (2012-07-30)

  • irclogsearch can be told about the filename pattern of log files via an environment variable (IRCLOG_GLOB). Patch by Jonathan Kinred.

2.10.0 (2012-02-12)

  • New option: –glob-pattern. Patch by Albertas Agejevas. Fixes LP#912310.
  • Links in logs are marked with rel=”nofollow”. Patch by Matt Wheeler. Fixes LP#914553.
  • New option: –version.
  • New option: -c, –config=FILE.

2.9.2 (2011-01-16)

  • Support XChat Latin/Unicode hybrid encoding ( Fixes LP#703622.
  • irclog2html copies irclog.css file into the destination directory. Fixes LP#608727.

2.9.1 (2010-08-06)

  • Make sure irclog.css is installed in the right place; logs2html needs it.

2.9 (2010-08-06)

  • Restructured source tree, made irclogs2html into a package, added, buildout.cfg,, Makefile, HACKING.txt; moved old porting test suite into a subdirectory (porting).
  • logs2html copies irclog.css file into the destination directory.
  • Released into PyPI.

2.8 (2010-07-22)

  • Added README.txt and CHANGES.txt.
  • Support dircproxy log files (new date format: “[15 Jan 08:42]”, strip ident and IP address from nicknames). Patch by Paul Frields.
  • New option: –dircproxy also makes irclog2html strip a single leading ‘+’ or ‘-‘ from messages.

2.7.1 (2009-04-30)

  • Bug in error reporting, reported by Ondrej Baudys.

2.7 (2008-06-10)

  • New style: mediawiki. Patch by Ian Weller.

2.6 (2007-10-30)

  • Support another date format (Oct 17 10:53:26). Patch by Matthew Barnes.

2.5.1 (2007-03-22)

  • add a stable link to the latest log file (suggested by Chris Foster).

2.5 (2007-01-22)

  • New option: –searchbox.
  • Search CGI script improvements (e.g. put newest matches on top).

2.4 (2006-12-11)

  • Added a sample CGI script for brute-force log searches.

2.3 (2005-03-08)

  • Use xhtmltable style by default.
  • Added a copy of the navbar at the bottom.

2.2 (2005-02-04)

  • Support supybot’s ChannelLogger date format (e.g. 02-Feb-2004).
  • Fixed broken timestamp hyperlinks in xhtml/xhtmltable styles.
  • CSS tweaks.

2.1mg (2005-01-09)

  • Ported version 2.1 by Jeff Waugh from Perl to Python.
  • New styles: xhtml, xhtmltable.
  • New options: –title, –{prev,index,next}-{url,title}
  • Removed hardcoded nick colour preferences for jdub, cantaker and chuckd
  • Bugfix: colours are preserver accross nick changes ( tried to do that, but had a bug in a regex)
  • Added ISO8601 timestamp support (e.g. 2005-01-09T12:43:11).
  • More careful URL linkification (stop at ‘, “, ), >).
  • Added script for mass-conversion of logs.
  • Added support for xchat log files.
  • Added script for splitting xchat logs on day boundaries so they’re suitable as input for

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for irclog2html, version 2.13.0
Filename, size File type Python version Upload date Hashes
Filename, size irclog2html-2.13.0.tar.gz (196.0 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page