Advertisement
swarley

Logger

Aug 30th, 2011
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 0.54 KB | None | 0 0
  1. use strict;
  2. use warnings;
  3. use feature 'switch';
  4. package logger;
  5.  
  6. my @loggers;
  7. my %prefixes = (normal => '>> ', debug => '% ', error => '!! ');
  8.  
  9. sub new {
  10.     my ($class,$file,@flags) = @_;
  11.     open my $file_handle, '>' ,$file;
  12.     my $logger = {flags => \@flags, file => $file_handle};
  13.     bless $logger, $class;
  14.     push(@loggers, $logger);
  15.     return $logger;
  16. }
  17.  
  18. sub log_my {
  19.     my ($type,$message) = @_;
  20.     foreach my $logger (@loggers) {
  21.         if ($type ~~ $logger->{flags}) {
  22.             print {$logger->{file}}($prefixes{$type} . "$message\n");
  23.         }
  24.     }
  25. }
  26. 1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement