HEX

Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit - prohibited by configuration in /home/u547966/brikov.ru/www/wp-content/plugins/admin-menu-editor/menu-editor.php on line 745
Server: Apache
System: Linux 4.19.0-0.bpo.9-amd64 x86_64 at red40
User: u547966 (5490)
PHP: 5.3.29-mh2
Disabled: syslog, dl, popen, proc_open, proc_nice, proc_get_status, proc_close, proc_terminate, posix_mkfifo, chown, chgrp, accelerator_reset, opcache_reset, accelerator_get_status, opcache_get_status, pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority
Upload Files
File: //usr/share/perl5/DBMon/Log.pm
package DBMon::Log;

use Exporter ();
use vars qw ($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
$VERSION     = 0.01;
@ISA         = qw (Exporter);
@EXPORT      = qw (say);
@EXPORT_OK   = qw (say);
%EXPORT_TAGS = ();

use strict;
use Sys::Syslog qw(:DEFAULT setlogsock);

my $init = 0;
my $f = 0;
my $syslog = 0;

my @LOG_LEVELS = ('emerg', 'alert', 'crit', 'err', 'warning', 'notice', 'info', 'debug');
my %allowed_log_levels;

sub say
{
    my $msg = shift;
    my $level = shift||'info';

    return 1 unless (defined ($allowed_log_levels{$level}));

    if ($f)
    {
	my $time = scalar localtime;
	if (open (FO, ">>$f")) {; 
	    print FO "[$time] [$level] $msg\n";
	    close FO;
	}
    }
    
    syslog ($level, $msg) if($syslog);

    return 1;
}


sub init
{
    return 1 if ($init);

    $init = 1;

    my $to_file   = shift;
    my $log_file  = shift;
    $syslog = shift||0;
    my $level = shift||'info';

    for (my $i=0;$i<@LOG_LEVELS;$i++) {
	$allowed_log_levels{$LOG_LEVELS[$i]} = 1;
	last if ($LOG_LEVELS[$i] eq $level);
    }

    $f = $log_file if ($to_file);
	
    if ($syslog)	
    {
	setlogsock('unix');
	openlog("DBMon", 'cons,pid', 'user');		
    }
		
    return 1;
}

DESTROY
{
	closelog() if ($syslog);
}

1;