| Log-Dispatch-DesktopNotification documentation | Contained in the Log-Dispatch-DesktopNotification distribution. |
Log::Dispatch::DesktopNotification - Send log messages to a desktop notification system
my $notify = Log::Dispatch::DesktopNotification->new(
name => 'notify',
min_level => 'debug',
app_name => 'MyApp',
);
Creates a new Log::Dispatch output that can be used to graphically notify a
user on this system. Uses output_class and calls new on the returned
class, passing along all arguments.
Returns the name of a Log::Dispatch::Output class that's suitable to graphically notify a user on the current system.
On MacOS X that'll be Log::Dispatch::MacGrowl. On other systems Log::Dispatch::Gtk2::Notify will be returned if it's available and usable. Otherwise Log::Dispatch::Null will be returned.
Currently only supports Mac OS X and systems on which notification-daemon is available (most *N*Xes).
Log::Dispatch, Log::Dispatch::Gtk2::Notify, Log::Dispatch::MacGrowl, Log::Dispatch::Null
Florian Ragwitz <rafl@debian.org>
This software is copyright (c) 2009 by Florian Ragwitz.
This is free software; you can redistribute it and/or modify it under the same terms as perl itself.
| Log-Dispatch-DesktopNotification documentation | Contained in the Log-Dispatch-DesktopNotification distribution. |
use strict; use warnings; package Log::Dispatch::DesktopNotification; use Module::Load qw/load/; use Module::Load::Conditional qw/can_load/; use namespace::clean; our $VERSION = '0.01';
sub new { my ($class, @args) = @_; return $class->output_class->new(@args); }
sub output_class { if ($^O eq 'darwin') { my $mod = 'Log::Dispatch::MacGrowl'; load $mod; return $mod; } if (can_load(modules => { Gtk2 => undef }) && Gtk2->init_check) { my $mod = 'Log::Dispatch::Gtk2::Notify'; return $mod if can_load(modules => { $mod => undef }); } my $mod = 'Log::Dispatch::Null'; load $mod; return $mod; }
1;