/includes/init/logger.php
PHP | 102 lines | 54 code | 14 blank | 34 comment | 14 complexity | f3a6ce22d82b8aaa66bd5ea38004618b MD5 | raw file
- <?php
- /**
- * Loggers
- *
- * @version 0.3
- * @package StreamingAPI
- * @author Filippo Baruffaldi
- * @email filippo.baruffaldi@oneitalia.it
- * @last-revisioner Filippo Baruffaldi
- */
- require_once ZENDLIBPATH . 'Log.php';
- require_once ZENDLIBPATH . 'Exception.php';
- require_once ZENDLIBPATH . 'Log' . DIRECTORY_SEPARATOR . 'Exception.php';
- require_once ZENDLIBPATH . 'Log' . DIRECTORY_SEPARATOR . 'Writer' . DIRECTORY_SEPARATOR . 'Null.php';
- require_once ZENDLIBPATH . 'Log' . DIRECTORY_SEPARATOR . 'Writer' . DIRECTORY_SEPARATOR . 'Stream.php';
- require_once ZENDLIBPATH . 'Log' . DIRECTORY_SEPARATOR . 'Writer' . DIRECTORY_SEPARATOR . 'Db.php';
- //***************************************************//
- //****************** Log Handlers *******************//
- //***************************************************//
- //*** do I have to log ??
- //************************
- define( '__LOG__', ( $Request->type == 'php' && __DB__ ) );
- //*** Log Files
- //**************
- $accessLogFile = LOGSPATH . 'access_' . date( 'Ym' ) . '.log';
- $errorsLogFile = LOGSPATH . 'errors_' . date( 'Ym' ) . '.log';
- $soapLogFile = LOGSPATH . 'soap_' . date( 'Ym' ) . '.log';
- //*** Database Writer
- //********************
- $loggerDbColumnsMap = array( 'ip_local' => 'ip_local',
- 'ip_remote' => 'ip_remote',
- 'msisdn' => 'msisdn',
- 'partyid' => 'partyid',
- 'useragent' => 'useragent',
- 'category' => 'category',
- 'method' => 'method',
- 'priority' => 'priority',
- 'priorityName' => 'priorityname',
- 'message' => 'message' );
-
- if ( __LOG__ ) $loggerDbWriter = new Zend_Log_Writer_Db( $db, "{$dbParams['logsdbname']}.{$dbParams['tableprefix']}{$dbParams['table_ad_ev_log']}_$serverId", $columnMapping);
- else $loggerDbWriter = new Zend_Log_Writer_Null( $db, "{$dbParams['logsdbname']}.{$dbParams['tableprefix']}{$dbParams['table_ad_ev_log']}_$serverId", $columnMapping);
- //*** Stream Writers
- //*******************
- if ( __LOG__ ) $accessWriter = new Zend_Log_Writer_Stream( $accessLogFile );
- else $accessWriter = new Zend_Log_Writer_Null( $accessLogFile );
- if ( __LOG__ ) $errorsWriter = new Zend_Log_Writer_Stream( $errorsLogFile );
- else $errorsWriter = new Zend_Log_Writer_Null( $errorsLogFile );
- if ( __LOG__ ) $soapWriter = new Zend_Log_Writer_Stream( $soapLogFile );
- else $soapWriter = new Zend_Log_Writer_Null( $soapLogFile );
-
- //*** Define Formatters
- //**********************
- $accessFormat = new Zend_Log_Formatter_Simple( "[%timestamp%][%ip_local%][%ip_remote%][%msisdn%][%partyid%][%useragent%][%category%][%method%][%priority%][%priorityName%][%whois%]: %message%" . PHP_EOL );
- $errorsFormat = new Zend_Log_Formatter_Simple( "[%timestamp%][%ip_local%][%ip_remote%][%msisdn%][%partyid%][%useragent%][%category%][%method%][%priority%][%priorityName%][%whois%]: %message%" . PHP_EOL );
- $soapFormat = new Zend_Log_Formatter_Simple( "[%timestamp%][%ip_local%][%ip_remote%][%msisdn%][%partyid%][%useragent%][%category%][%method%][%priority%][%priorityName%][%whois%]: %message%" . PHP_EOL );
- //*** Set Writers Formats
- //************************
- $accessWriter->setFormatter( $accessFormat );
- $errorsWriter->setFormatter( $errorsFormat );
- $soapWriter->setFormatter( $soapFormat );
- //*** Loggers
- //************
- $accessLogger = new Zend_Log( $accessWriter );
- $errorsLogger = new Zend_Log( $errorsWriter );
- $soapLogger = new Zend_Log( $soapWriter );
-
- // We want all loggers inside an array to easily set all event items
- $loggers = array( $accessLogger, $errorsLogger, $soapLogger );
-
- //*** Set Loggers Items
- //**********************
- foreach ( $loggers as $logz => $log )
- {
- $log->setEventItem( 'timestamp', date( 'Y.m.d-H:i:s' ) );
- $log->setEventItem( 'ip_local', $_SERVER['SERVER_ADDR'] );
- $log->setEventItem( 'ip_remote', $_SERVER['REMOTE_ADDR'] );
- $log->setEventItem( 'msisdn', var_export( $_SERVER['HTTP_X_H3G_MSISDN'], true ) );
- $log->setEventItem( 'partyid', var_export( $_SERVER['HTTP_X_H3G_PARTY_ID'], true ) );
- $log->setEventItem( 'useragent', DSS::getUAPattern( $_SERVER['HTTP_USER_AGENT'] ) );
- $log->setEventItem( 'category', $Request->category );
- $log->setEventItem( 'method', $Request->action );
- $log->setEventItem( 'whois', ( array_key_exists( $_SERVER['HTTP_X_H3G_MSISDN'] , $MsISDNtoUsers ) ) ? $MsISDNtoUsers[$_SERVER['HTTP_X_H3G_MSISDN']] : ( gethostbyaddr( $_SERVER['REMOTE_ADDR'] ) != $_SERVER['REMOTE_ADDR'] ) ? gethostbyaddr( $_SERVER['REMOTE_ADDR'] ) : NULL );
- }
- //*** Set Database Writer
- //************************
- $accessLogger->addWriter( $loggerDbWriter );
- $errorsLogger->addWriter( $loggerDbWriter );
- //***************************************************//
- //****************** ------------ *******************//
- //***************************************************//
- if ( !empty( $_SERVER['HTTP_REFERER'] ) && $_SERVER['SERVER_ADDR'] != '127.0.0.1' ) $accessLogger->log( 'Incoming connection from: ' . $_SERVER['HTTP_REFERER'], 6 );