Confluence IRC Logger

The ConfluenceIrcLogger project is a flexible IRC logging bot that can log any number of IRC channels from any number of IRC severs. Included is an EventWriter implementation that supports logging to Confluence.

Architecture

ChannelLogger

ChannelLogger is a concrete class that interfaces with an IrcBot and an EventWriter. The IrcBot is used to join the channel to log and send notices. It is assumed the IrcBot implementation is sending events from the channel over the Spring application context event dispatching framework. Events from the correct bot and channel are queued and periodically flushed to the configured EventWriters.

EventLogBot

EventLogBot implements the IrcBot interface and extends the PircBot API whic provides all of the IRC interaction code.

ConfluenceEventWriter

ConfluenceEventWriter Implements the EventWriter interface and handles creating a page structure and writing the logged events to Confluence. Works with a XmlRpcConfluenceServer which handles the XML-RPC specifics for programmatic access to Confluence.

SpelEventFormatter

SpelEventFormatter implements the EventFormatter which is used to convert an IrcEvent into a String for logging. This implementation uses a properties file to associate a SpEL expression with each IrcEvent type. There is a Confluence formatting file included with the application.

Add Ons

Even though the project is named Confluence IRC Logger it can log an IRC channel to any location. All that is needed is a custom implementation of EventWriter and SpEL formatting file for the location.

Project Details

Current Version

2.0.0

Author(s)

Project lead Eric Dalquist

Issue Tracking

 

License

GPLv2

Java API Docs

 

Download Source

sandbox/ConfluenceIrcLogger

Current Adopters

  • Jasig
  • Fluid