PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /proc/thread-self/root/proc/self/root/proc/self/root/usr/local/share/perl5/Alien/Build/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : //proc/thread-self/root/proc/self/root/proc/self/root/usr/local/share/perl5/Alien/Build/Log.pm |
package Alien::Build::Log; use strict; use warnings; use 5.008004; use Carp (); # ABSTRACT: Alien::Build logging our $VERSION = '2.80'; # VERSION my $log_class; my $self; sub new { my($class) = @_; Carp::croak("Cannot instantiate base class") if $class eq 'Alien::Build::Log'; return bless {}, $class; } sub default { $self || do { my $class = $log_class || $ENV{ALIEN_BUILD_LOG} || 'Alien::Build::Log::Default'; unless(eval { $class->can('new') }) { my $pm = "$class.pm"; $pm =~ s/::/\//g; require $pm; } $class->new; } } sub set_log_class { my(undef, $class) = @_; return if defined $class && ($class eq ($log_class || '')); $log_class = $class; undef $self; } sub log { Carp::croak("AB Log base class"); } 1; __END__ =pod =encoding UTF-8 =head1 NAME Alien::Build::Log - Alien::Build logging =head1 VERSION version 2.80 =head1 SYNOPSIS Create your custom log class: package Alien::Build::Log::MyLog; use parent qw( Alien::Build::Log ); sub log { my(undef, %opt) = @_; my($package, $filename, $line) = @{ $opt{caller} }; my $message = $opt{message}; ...; } override log class: % env ALIEN_BUILD_LOG=Alien::Build::Log::MyLog cpanm Alien::libfoo =head1 DESCRIPTION =head1 CONSTRUCTORS =head2 new my $log = Alien::Build::Log->new; Create an instance of the log class. =head2 default my $log = Alien::Build::Log->default; Return singleton instance of log class used by L<Alien::Build>. =head1 METHODS =head2 set_log_class Alien::Build::Log->set_log_class($class); Set the default log class used by L<Alien::Build>. This method will also reset the default instance used by L<Alien::Build>. If not specified, L<Alien::Build::Log::Default> will be used. =head2 log $log->log(%options); Overridable method which does the actual work of the log class. Options: =over 4 =item caller Array references containing the package, file and line number of where the log was called. =item message The message to log. =back =head1 ENVIRONMENT =over 4 =item ALIEN_BUILD_LOG The default log class used by L<Alien::Build>. =back =head1 AUTHOR Author: Graham Ollis E<lt>plicease@cpan.orgE<gt> Contributors: Diab Jerius (DJERIUS) Roy Storey (KIWIROY) Ilya Pavlov David Mertens (run4flat) Mark Nunberg (mordy, mnunberg) Christian Walde (Mithaldu) Brian Wightman (MidLifeXis) Zaki Mughal (zmughal) mohawk (mohawk2, ETJ) Vikas N Kumar (vikasnkumar) Flavio Poletti (polettix) Salvador Fandiño (salva) Gianni Ceccarelli (dakkar) Pavel Shaydo (zwon, trinitum) Kang-min Liu (劉康民, gugod) Nicholas Shipp (nshp) Juan Julián Merelo Guervós (JJ) Joel Berger (JBERGER) Petr PÃsaÅ™ (ppisar) Lance Wicks (LANCEW) Ahmad Fatoum (a3f, ATHREEF) José JoaquÃn Atria (JJATRIA) Duke Leto (LETO) Shoichi Kaji (SKAJI) Shawn Laffan (SLAFFAN) Paul Evans (leonerd, PEVANS) HÃ¥kon Hægland (hakonhagland, HAKONH) nick nauwelaerts (INPHOBIA) Florian Weimer =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2011-2022 by Graham Ollis. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut