|
sub new { my ($package, %options) = @_; my $defaults = $package->defaults; my $self = bless { map { $_ => defined $options{$_}? $options{$_}: $defaults->{$_} } keys %{$defaults}, }, $package; my $default_level = $options{default_level}; if (defined $default_level) { $self->{default_level} = $default_level; } else { $self->{default_level} = LOG_INFO; } $self->initialize(%options); return $self; } |
sub initialize { my ($self, %options) = @_; unless (ref($self->{file})) { my $out = new IO::File $self->{file}, $self->{modes}, $self->{protection} or croak "unable to open $self->{file}: $!"; $self->{file} = $out; } } sub defaults { return { modes => O_WRONLY|O_CREAT|O_APPEND, file => \*STDERR, protection => 0666 }; } |
Copyright © 1996 - 2003 Andreas Borchert, in HTML konvertiert am 01.10.2003 |