NAME¶
POE::Component::IRC::Plugin::Logger - A PoCo-IRC plugin which logs public,
  private, and DCC chat messages to disk
SYNOPSIS¶
 use POE::Component::IRC::Plugin::Logger;
 $irc->plugin_add('Logger', POE::Component::IRC::Plugin::Logger->new(
     Path    => '/home/me/irclogs',
     DCC     => 0,
     Private => 0,
     Public  => 1,
 ));
DESCRIPTION¶
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. In the case of DCC chats, a '='
  is prepended to the nickname (like in irssi).
The plugin 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.
METHODS¶
"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.
'DCC', whether or not to log DCC chats. Defaults to 1.
'Notices', whether or not to log NOTICEs. Defaults to 0.
'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 all directories/files to be
  created without read permissions for other users (i.e. 700 for dirs and 600
  for files). Defaults to 1.
'Format', a hash reference representing the log format, if you want to
  define your own. See the source for details.
'Log_sub', a subroutine reference which can be used to override the file
  logging. Use this if you want to store logs in a database instead, for
  example. It will be called with 3 arguments: the context (a channel name or
  nickname), a type (e.g. 'privmsg' or '+b', and any arguments to that type. You
  can make use "default_format" to create logs that match the default
  log format. 
Note: You must take care of handling date/time and
  stripping colors/formatting codes yourself.
Returns a plugin object suitable for feeding to POE::Component::IRC's
  "plugin_add" method.
Returns a hash reference of type/subroutine pairs, for formatting logs according
  to the default log format.
AUTHOR¶
Hinrik Oern Sigurd`sson, hinrik.sig@gmail.com