Heray-Was-Here
Server : Apache
System : Linux vps103298.mylogin.co 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64
User : calvet ( 273824)
PHP Version : 7.4.33
Disable Function : NONE
Directory :  /proc/thread-self/root/proc/self/root/usr/share/perl5/vendor_perl/Ocsinventory/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/thread-self/root/proc/self/root/usr/share/perl5/vendor_perl/Ocsinventory/Logger.pm
package Ocsinventory::Logger;
# TODO use Log::Log4perl instead.
use Carp;
sub new {

    my (undef, $params) = @_;

    my $self = {};
    bless $self;
    $self->{backend} = [];
    $self->{config} = $params->{config};

    $self->{debug} = $self->{config}->{debug}?1:0;
    my @logger;

    if (exists ($self->{config}->{logger})) {
        @logger = split /,/, $self->{config}->{logger};
    } else {
        # if no 'logger' parameter exist I use Stderr as default backend
        push @logger, 'Stderr';
    }

    my @loadedMbackends;
    foreach (@logger) {
        my $backend = "Ocsinventory::LoggerBackend::".$_;
        eval ("require $backend"); # TODO deal with error
        if ($@) {
            print STDERR "Failed to load Logger backend: $backend ($@)\n";
            next;
        } else {
            push @loadedMbackends, $_;
        }

        my $obj = new $backend ({
            config => $self->{config},
        });
        push @{$self->{backend}}, $obj if $obj;
    }
    
    my $version = "Ocsinventory unified agent for UNIX, Linux and MacOSX ";
    $version .= exists ($self->{config}->{version})?$self->{config}->{version}:'';
    $self->debug($version."\n");
    $self->debug("Log system initialised (@loadedMbackends)");

    $self;
}

sub log {
    my ($self, $args) = @_;

    # levels: info, debug, warn, fault
    my $level = $args->{level};
    my $message = $args->{message};
    my $header = $self->{header};

    return if ($level =~ /^debug$/ && !($self->{debug}));

    chomp($message);

    #Add a header to message if needed 
    $message="$header $message" if $header;

    $level = 'info' unless $level;

    foreach (@{$self->{backend}}) {
        $_->addMsg ({
            level => $level,
            message => $message
        });
    }
    confess if $level =~ /^fault$/; # Die with a backtace 
}

sub debug {
    my ($self, $msg) = @_;
    $self->log({ level => 'debug', message => $msg});
}

sub info {
    my ($self, $msg) = @_;
    $self->log({ level => 'info', message => $msg});
}

sub error {
    my ($self, $msg) = @_;
    $self->log({ level => 'error', message => $msg});
}

sub fault {
    my ($self, $msg) = @_;
    $self->log({ level => 'fault', message => $msg});
}

sub user {
    my ($self, $msg) = @_;
    $self->log({ level => 'user', message => $msg});
}

1;

Hry