This is an automated email from the git hooks/post-receive script. js pushed a commit to annotated tag release-0.004 in repository libmoox-role-logger-perl.
commit 465d22e4ccdaf12ef315c18118e2c3e01c8ce975 Author: David Golden <dagol...@cpan.org> Date: Thu Sep 18 10:07:25 2014 -0400 rename to MooX::Role::Logger and deprecate MooseX::Role::Logger --- .gitignore | 2 +- Changes | 10 ++- cpanfile | 9 +-- dist.ini | 4 +- lib/{MooseX => MooX}/Role/Logger.pm | 8 +- lib/MooseX/Role/Logger.pm | 145 ++---------------------------------- t/lib/MyModule2.pm | 20 +++++ t/{basic.t => moosex.t} | 0 t/{basic.t => moox.t} | 4 +- 9 files changed, 47 insertions(+), 155 deletions(-) diff --git a/.gitignore b/.gitignore index fe39f7c..7f7ba93 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ -/MooseX-Role-Logger* +/MooX-Role-Logger* /.build /.tidyall.d diff --git a/Changes b/Changes index 89019f9..273a4c5 100644 --- a/Changes +++ b/Changes @@ -1,7 +1,15 @@ -Revision history for MooseX-Role-Logger +Revision history for MooX-Role-Logger {{$NEXT}} + [Changed] + + - Renamed to MooX::Role::Logger for clarify that it works with Moo or + Moose. + + - MooseX::Role::Logger deprecated but kept as a wrapper for backwards + compatibility. + 0.003 2014-07-03 12:38:11-04:00 America/New_York [Changed] diff --git a/cpanfile b/cpanfile index a461935..c9d39ef 100644 --- a/cpanfile +++ b/cpanfile @@ -7,19 +7,16 @@ requires "warnings" => "0"; on 'test' => sub { requires "ExtUtils::MakeMaker" => "0"; - requires "File::Spec::Functions" => "0"; - requires "List::Util" => "0"; + requires "File::Spec" => "0"; requires "Log::Any::Test" => "0"; requires "Moo" => "0"; requires "Test::FailWarnings" => "0"; requires "Test::More" => "0.96"; requires "lib" => "0"; - requires "version" => "0"; }; on 'test' => sub { - recommends "CPAN::Meta" => "0"; - recommends "CPAN::Meta::Requirements" => "2.120900"; + recommends "CPAN::Meta" => "2.120900"; }; on 'configure' => sub { @@ -28,7 +25,7 @@ on 'configure' => sub { on 'develop' => sub { requires "Dist::Zilla" => "5"; - requires "Dist::Zilla::PluginBundle::DAGOLDEN" => "0.053"; + requires "Dist::Zilla::PluginBundle::DAGOLDEN" => "0.060"; requires "File::Spec" => "0"; requires "File::Temp" => "0"; requires "IO::Handle" => "0"; diff --git a/dist.ini b/dist.ini index 9da28ab..17e395b 100644 --- a/dist.ini +++ b/dist.ini @@ -1,9 +1,9 @@ -name = MooseX-Role-Logger +name = MooX-Role-Logger author = David Golden <dagol...@cpan.org> license = Apache_2_0 copyright_holder = David Golden copyright_year = 2013 [@DAGOLDEN] -:version = 0.053 +:version = 0.060 diff --git a/lib/MooseX/Role/Logger.pm b/lib/MooX/Role/Logger.pm similarity index 95% copy from lib/MooseX/Role/Logger.pm copy to lib/MooX/Role/Logger.pm index 0fe17c0..ec586ea 100644 --- a/lib/MooseX/Role/Logger.pm +++ b/lib/MooX/Role/Logger.pm @@ -1,7 +1,7 @@ use strict; use warnings; -package MooseX::Role::Logger; +package MooX::Role::Logger; # ABSTRACT: Provide logging via Log::Any # VERSION @@ -52,7 +52,7 @@ In your modules: package MyModule; use Moose; - with 'MooseX::Role::Logger'; + with 'MooX::Role::Logger'; sub run { my ($self) = @_; @@ -116,7 +116,7 @@ create your own role and set the C<_build__logger_category> there: package MyLibrary::Role::Logger; use Moo::Role; - with 'MooseX::Role::Logger'; + with 'MooX::Role::Logger'; sub _build__logger_category { "MyLibrary" } @@ -128,7 +128,7 @@ Then in your other classes, use your custom role: =head1 SEE ALSO -Since MooseX::Role::Logger is universal, you have to use it with one of +Since MooX::Role::Logger is universal, you have to use it with one of several L<Log::Any::Adapter> classes: =for :list diff --git a/lib/MooseX/Role/Logger.pm b/lib/MooseX/Role/Logger.pm index 0fe17c0..30ef199 100644 --- a/lib/MooseX/Role/Logger.pm +++ b/lib/MooseX/Role/Logger.pm @@ -2,154 +2,21 @@ use strict; use warnings; package MooseX::Role::Logger; -# ABSTRACT: Provide logging via Log::Any +# ABSTRACT: Provide logging via Log::Any (DEPRECATED) # VERSION use Moo::Role; -use Types::Standard qw/Str/; - -use Log::Any (); - -=method _logger - -Returns a logging object. See L<Log::Any> for a list of logging methods it accepts. - -=cut - -has _logger => ( - is => 'lazy', - isa => sub { ref( $_[0] ) =~ /^Log::Any/ }, # XXX too many options - init_arg => undef, -); - -sub _build__logger { - my ($self) = @_; - return Log::Any->get_logger( category => $self->_logger_category ); -} - -has _logger_category => ( - is => 'lazy', - isa => Str, -); - -=method _build__logger_category - -Override to set the category used for logging. Defaults to the class name of -the object (which could be a subclass). You can override to lock it to a -particular name: - - sub _build__logger_category { __PACKAGE__ } - -=cut - -sub _build__logger_category { return ref $_[0] } +with 'MooX::Role::Logger'; 1; -=head1 SYNOPSIS - -In your modules: - - package MyModule; - use Moose; - with 'MooseX::Role::Logger'; - - sub run { - my ($self) = @_; - $self->cry; - } - - sub cry { - my ($self) = @_; - $self->_logger->info("I'm sad"); - } - -In your application: - - use MyModule; - use Log::Any::Adapter ('File', '/path/to/file.log'); - - MyModule->run; - =head1 DESCRIPTION -This role provides universal logging via L<Log::Any>. The class using this -role doesn't need to know or care about the details of log configuration, -implementation or destination. - -Use it when you want your module to offer logging capabilities, but don't know -who is going to use your module or what kind of logging they will implement. -This role lets you do your part and leaves actual log setup and routing to -someone else. - -The application that ultimately uses your module can then choose to direct log -messages somewhere based on its own needs and configuration with -L<Log::Any::Adapter>. - -This role is based on L<Moo> so it should work with either L<Moo> or L<Moose> -based classes. - -=head1 USAGE - -=head2 Testing - -Testing with L<Log::Any> is pretty easy, thanks to L<Log::Any::Test>. -Just load that before L<Log::Any> loads and your log messages get -sent to a test adapter that includes testing methods: - - use Test::More 0.96; - use Log::Any::Test; - use Log::Any qw/$log/; - - use lib 't/lib'; - use MyModule; - - MyModule->new->cry; - $log->contains_ok( qr/I'm sad/, "got log message" ); - - done_testing; - -=head2 Customizing - -If you have a whole set of classes that should log with a single category, -create your own role and set the C<_build__logger_category> there: - - package MyLibrary::Role::Logger; - use Moo::Role; - with 'MooseX::Role::Logger'; - - sub _build__logger_category { "MyLibrary" } - -Then in your other classes, use your custom role: - - package MyLibrary::Foo; - use Moo; - with 'MyLibrary::Role::Logger' - -=head1 SEE ALSO - -Since MooseX::Role::Logger is universal, you have to use it with one of -several L<Log::Any::Adapter> classes: - -=for :list -* L<Log::Any::Adapter::File> -* L<Log::Any::Adapter::Stderr> -* L<Log::Any::Adapter::Stdout> -* L<Log::Any::Adapter::ScreenColoredLevel> -* L<Log::Any::Adapter::Dispatch> -* L<Log::Any::Adapter::Syslog> -* L<Log::Any::Adapter::Log4perl> - -These other logging roles are specific to particular logging packages, rather -than being universal: +L<MooseX::Role::Logger> has been renamed to L<MooX::Role::Logger> to clarify +that it works with both L<Moo> and L<Moose>. This role just wraps that one and +is provided for backwards compatibility. -=for :list -* L<MooseX::LazyLogDispatch> -* L<MooseX::Log::Log4perl> -* L<MooseX::LogDispatch> -* L<MooseX::Role::LogHandler> -* L<MooseX::Role::Loggable> (uses L<Log::Dispatchouli>) -* L<Role::Log::Syslog::Fast> +See L<MooX::Role::Logger> for usage details. =cut diff --git a/t/lib/MyModule2.pm b/t/lib/MyModule2.pm new file mode 100644 index 0000000..88f11de --- /dev/null +++ b/t/lib/MyModule2.pm @@ -0,0 +1,20 @@ +use strict; +use warnings; + +package MyModule2; + +use Moo; +with 'MooX::Role::Logger'; + +sub run { + my ($self) = @_; + $self->cry; +} + +sub cry { + my ($self) = @_; + $self->_logger->info("I'm sad"); +} + +1; + diff --git a/t/basic.t b/t/moosex.t similarity index 100% copy from t/basic.t copy to t/moosex.t diff --git a/t/basic.t b/t/moox.t similarity index 88% rename from t/basic.t rename to t/moox.t index 2f3c915..39330c5 100644 --- a/t/basic.t +++ b/t/moox.t @@ -8,9 +8,9 @@ use Log::Any qw/$log/; use lib 't/lib'; -use MyModule; +use MyModule2; -my $obj = new_ok('MyModule'); +my $obj = new_ok('MyModule2'); my $log_class = ref $obj->_logger; like( $log_class, qr/^Log::Any/, "logger came is from Log::Any" ); -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libmoox-role-logger-perl.git _______________________________________________ Pkg-perl-cvs-commits mailing list Pkg-perl-cvs-commits@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits