Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
POE::Component::IRC::PUsernContributed PPOE::Component::IRC::Plugin::Logger(3)

       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 Arn SigurA<degree>sson,

perl v5.24.1			  2014-0POE::Component::IRC::Plugin::Logger(3)


Want to link to this manual page? Use this URL:

home | help