POE::Component::IRC::Plugin::Logger - A PoCo-IRC plugin which logs public and private messages to disk.
use POE::Component::IRC::Plugin::Logger; $irc->plugin_add('Logger', POE::Component::IRC::Plugin::Logger->new( Path => '/home/me/irclogs', Private => 0, Public => 1, ));
POE::Component::IRC::Plugin::Logger is a POE::Component::IRC
plugin. It logs messages and CTCP ACTIONs to either #some_channel.log
or
some_nickname.log
in the supplied path. It tries to detect UTF-8 encoding of
every message or else falls back to CP1252, like irssi (and, supposedly, mIRC)
does by default. Resulting log files will be UTF-8 encoded. The default log
format is similar to xchat's, except that it's sane and parsable.
This plugin requires the IRC component to be POE::Component::IRC::State or a subclass thereof. It also requires a POE::Component::IRC::Plugin::BotTraffic to be in the plugin pipeline. It will be added automatically if it is not present.
new
Arguments:
'Path', the place where you want the logs saved.
'Private', whether or not to log private messages. Defaults to 1.
'Public', whether or not to log public messages. Defaults to 1.
'Sort_by_date', whether or not to split log files by date, i.e. #channel/YYYY-MM-DD.log instead of #channel.log. If enabled, the date will be omitted from the timestamp. Defaults to 0.
'Strip_color', whether or not to strip all color codes from messages. Defaults to 0.
'Strip_formatting', whether or not to strip all formatting codes from messages. Defaults to 0.
'Restricted', set this to 1 if you want to all directories/files to be created without read permissions for other users (i.e. 700 for dirs and 600 for files). Defaults to 0.
'Format', a hash reference representing the log format, if you want to define your own. See the source for details.
Returns a plugin object suitable for feeding to POE::Component::IRC's plugin_add() method.
Hinrik Örn Sigurðsson, hinrik.sig@gmail.com