diff options
author | Maarten Vanraes <alien@mageia.org> | 2016-05-16 17:51:37 +0200 |
---|---|---|
committer | Maarten Vanraes <alien@mageia.org> | 2016-05-16 17:51:37 +0200 |
commit | 6f40a4489fa7e6d2cc4852e06f5c67ad30fb833c (patch) | |
tree | 8e72197c179e5f1f0f299b2399fd77b7ad68f52a | |
parent | d3d3537d2611f1cb07d6e8205a7e021f0da0c289 (diff) | |
download | manatools-6f40a4489fa7e6d2cc4852e06f5c67ad30fb833c.tar manatools-6f40a4489fa7e6d2cc4852e06f5c67ad30fb833c.tar.gz manatools-6f40a4489fa7e6d2cc4852e06f5c67ad30fb833c.tar.bz2 manatools-6f40a4489fa7e6d2cc4852e06f5c67ad30fb833c.tar.xz manatools-6f40a4489fa7e6d2cc4852e06f5c67ad30fb833c.zip |
logging in disk_backend, all the way to Plugin level
-rw-r--r-- | lib/ManaTools/Module/Disk.pm | 3 | ||||
-rw-r--r-- | lib/ManaTools/Shared/disk_backend.pm | 62 | ||||
-rw-r--r-- | lib/ManaTools/Shared/disk_backend/Plugin.pm | 1 | ||||
-rw-r--r-- | lib/test-diskbe.pl | 2 |
4 files changed, 67 insertions, 1 deletions
diff --git a/lib/ManaTools/Module/Disk.pm b/lib/ManaTools/Module/Disk.pm index 300696c6..9b3b8584 100644 --- a/lib/ManaTools/Module/Disk.pm +++ b/lib/ManaTools/Module/Disk.pm @@ -98,7 +98,8 @@ has 'backend' => ( lazy => 1, init_arg => undef, default => sub { - return ManaTools::Shared::disk_backend->new(); + my $self = shift; + return ManaTools::Shared::disk_backend->new(logger => $self->logger()); } ); diff --git a/lib/ManaTools/Shared/disk_backend.pm b/lib/ManaTools/Shared/disk_backend.pm index 9491c42f..6e2c72e6 100644 --- a/lib/ManaTools/Shared/disk_backend.pm +++ b/lib/ManaTools/Shared/disk_backend.pm @@ -67,6 +67,68 @@ use Moose; use File::Basename; use Module::Path qw(module_path); +use ManaTools::Shared::Locales; +use ManaTools::Shared::Logging; + +#============================================================= + +=head2 loc + + loc attribute defines localization object that uses "manatools" + domain as default. (see ManaTools::Shared::Locales for details). + To use your own Module domain, override this attribute by using + has '+loc' => ( + ... + ) + or assign it again to your ManaTools::Shared::Locales object into + the extension module implementation. + +=cut + +#============================================================= +has 'loc' => ( + is => 'rw', + isa => 'ManaTools::Shared::Locales', + lazy => 1, + default => sub { + return ManaTools::Shared::Locales->new(); + } +); + + +#============================================================= + +=head2 logger + + logger attribute defines logging object that uses the loc attribute + and goes to Syslog. (see ManaTools::Shared::Logging for details). + You can use this attribute to log various messages: + + $log->D("debugstuff: %s", $somestring); + $log->I("infostuff: %s", $somestring); + $log->W("warnstuff: %s", $somestring); + $log->E("errorstuff: %s", $somestring); + + if you wish to trace (goes to STDERR): + + $log->trace(1); + +=cut + +#============================================================= +has 'logger' => ( + is => 'rw', + isa => 'ManaTools::Shared::Logging', + lazy => 1, + init_arg => undef, + required => 0, + default => sub { + my $self = shift; + # make sure to trigger loc & name first + return ManaTools::Shared::Logging->new(loc => $self->loc(), ident => 'disk_backend'); + }, + handles => ['D','I','W','E'], +); has 'plugins' => ( is => 'ro', diff --git a/lib/ManaTools/Shared/disk_backend/Plugin.pm b/lib/ManaTools/Shared/disk_backend/Plugin.pm index 7fb3155f..61dd767a 100644 --- a/lib/ManaTools/Shared/disk_backend/Plugin.pm +++ b/lib/ManaTools/Shared/disk_backend/Plugin.pm @@ -122,6 +122,7 @@ has 'parent' => ( is => 'ro', isa => 'ManaTools::Shared::disk_backend', required => 1, + handles => ['D','I','W','E'], ); #============================================================= diff --git a/lib/test-diskbe.pl b/lib/test-diskbe.pl index c97479d0..2930e426 100644 --- a/lib/test-diskbe.pl +++ b/lib/test-diskbe.pl @@ -65,6 +65,8 @@ sub dumppart { my $db_man = ManaTools::Shared::disk_backend->new(); +#$db_man->logger->trace(1); + $db_man->probe(); my $mode = 'disks'; |