Provided by: libpoe-component-irc-perl_6.90+dfsg-1_all bug


       POE::Component::IRC::Plugin::Logger - A PoCo-IRC plugin which logs public, private, and
       DCC chat messages to disk


        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,


       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.



       '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.


       Hinrik Örn Sigurðsson,