Contents:

Irclogger

What is irclogger

irclogger is a simple "bot", a program connecting as a client on IRC servers to provide a web log of what is said. It aims to provide a simple, fast, efficient and web-compliant service. It is quite robust and mature, having be in daily heavy use for personal & business use since 2003. This page is at https://colas.nahaboo.net/Code/IrcLogger.

Goals

Irclogger was done to:

Screenshots

Click on an image to enlarge
logs list.jpg The list of logs, latest first, weekdays are bigger, a space separates weeks, number of lines given to get a sense of importance, available in many formats
log.jpg A day log, Users names have color names spread in the spectrum, rows alternate colors, URLs are clickable, idle periods are signalled with aproportional number of dots, admin messages are greyed and smaller, and you can select a line by clicking on the time at the right, and give the URL in the browser bar to other people by email, in web pages, or ... IM, and they will see the same thing as you, that is:
select.jpg Selected line, in the whole page, but positioned on it and highlighted
urls.jpg URL only view, to have a quick summary of all the URLs mentioned in a day log. Click to the time at right to expand on one in context, just like the above view.

User manual

irclogger appears just as another user chatting on the IRC server and channels, with the name [LOGGER]. You use it by talking to it, just like another user, with the /msg command on most clients, or open a private discussion from the menus.

Web logs Each logged line has its own permanent URL, that you can get by clicking on the time. It will be of the form
http://...?date...&sel= line #topline= , e.g: http://my.site?date=2008-09-17&sel 26 #22=
(topline = line -4). You can select a range of lines to refer to from other web pages by adding by hand the ending line of the range to the url, as:
http://...?date...&sel=line -lastline #topline= , e.g: http://my.site?date=2008-09-17&sel=27 -43 #23

Privacy

The bot only logs when you can see it in the user list as user " [LOGGER] ". If you do not see it, it cannot log you. The bot do not log newly created channels, it has to be explicitely invited to log them. The bot writes a very visible message in the channel when starting and stopping logging a channel.

Editing logs is easy for an admin as they are only plain text files on the server.

Users can decide to password-protect the web logs. Once protected the log cannot be made unprotected again. Some channels can be declared public by the administrator, which forbids users to password-protect them, by creating file named PUBLIC in their logs directory.

Note: The logs are not protected by default, even if the IRC server or IRC channel themselves are password protected. So be careful to always protect new logs on these servers, or make them avialable through a private web server.

Requirements

Installation & update

Detailed installation and configuration info are in the README.txt file in the distribution.

Upgrade is normally just de-tarring the distrib in /usr/local/, and see the HISTORY.txt file in the distribution for optional additional manual upgrade steps. Note that you should uncompress the distribution into a permanent location (I suggest /usr/local/irclogger). The install script will then create an irclogger-run script customized for each instance of the logger you want to run (on instance can log multiple channels, but on a single IRC server), but the actual scripts in the instances will be symbolic links to the installation directory, so that upgrading is just recopying the new files in the install dir.

Customization

Customization is done via a file irclogger.conf in the installation directory. It is a file in bash syntax that can define configuration variables, eher with their default value: In the irclogger_dir $logsdir, one can put files:

Implementation

I could not find a bot satisfying my goals. All were huge monsters with bloated functionalities of dubious utility, many were disgusting amounts of ugly perl code.

I stumbled on a nice unfinished python bot " logger" by Sean B. Palmer and Dan Connolly, so I used it as a base for irclogger, and added html view of the logs.

irclogger consists of 2 parts:
  1. the irc server name. e.g irc.freenode.net
  2. the nickname of the bot. A nice, visible [LOGGER] is advised, but can be anything
  3. the directory where the logs will be maintained. No need to be in the web server directory. e.g: /home/irclogger/logs
  4. the urls where the logs can be found. This is just the one displayed in the bot announces and help text in IRC, so you can put the URL of the irclogger_logs script or one page on your site pointing to it with more explanations. e.g: http://my-site.com/irclogger/bin/irclogger_logs
  5. (optional) the channels that will be monitored at start, you can put as many as you want, but be wary that some IRC servers limit drastically the number of channels you can join

License

Pure Open source: GPL

More details

Importing logs

In the distribution I provide some converters:

New versions announcements

New releases and important issues will be announced on the Irclogger blog, so I strongly suggest you monitor it, either

Sample use

History

The full history is in the file http://hg.colas.nahaboo.net/irclogger/raw-file/tip/HISTORY.txt HISTORY.txt, but here are the highlights: ALERT! means that there are extra manual steps to be performed on upgrade.

Comments