Skip to content
Extraits de code Groupes Projets
Valider 6fc09ee6 rédigé par Fabian Becker's avatar Fabian Becker
Parcourir les fichiers

Use correct column mapping for APICall Logs.

parent 416edea8
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
<?php <?php
/** /**
* Piwik - Open source web analytics * Piwik - Open source web analytics
* *
* @link http://piwik.org * @link http://piwik.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
* *
* @category Piwik * @category Piwik
* @package Piwik * @package Piwik
*/ */
/** /**
* Class used to log all the API Calls information (class / method / parameters / returned value / time spent) * Class used to log all the API Calls information (class / method / parameters / returned value / time spent)
* *
* @package Piwik * @package Piwik
* @subpackage Piwik_Log * @subpackage Piwik_Log
*/ */
...@@ -26,16 +26,25 @@ class Piwik_Log_APICall extends Piwik_Log ...@@ -26,16 +26,25 @@ class Piwik_Log_APICall extends Piwik_Log
{ {
$logToFileFilename = self::ID; $logToFileFilename = self::ID;
$logToDatabaseTableName = self::ID; $logToDatabaseTableName = self::ID;
$logToDatabaseColumnMapping = null; $logToDatabaseColumnMapping = array(
'class_name' => 'class_name',
'method_name' => 'method_name',
'parameter_names_default_values' => 'parameter_names_default_values',
'parameter_values' => 'parameter_values',
'execution_time' => 'execution_time',
'caller_ip' => 'caller_ip',
'timestamp' => 'timestamp',
'returned_value' => 'returned_value'
);
$screenFormatter = new Piwik_Log_APICall_Formatter_ScreenFormatter(); $screenFormatter = new Piwik_Log_APICall_Formatter_ScreenFormatter();
$fileFormatter = new Piwik_Log_Formatter_FileFormatter(); $fileFormatter = new Piwik_Log_Formatter_FileFormatter();
parent::__construct($logToFileFilename, parent::__construct($logToFileFilename,
$fileFormatter, $fileFormatter,
$screenFormatter, $screenFormatter,
$logToDatabaseTableName, $logToDatabaseTableName,
$logToDatabaseColumnMapping ); $logToDatabaseColumnMapping );
$this->setEventItem('caller_ip', Piwik_IP::P2N(Piwik_IP::getIpFromHeader()) ); $this->setEventItem('caller_ip', Piwik_IP::P2N(Piwik_IP::getIpFromHeader()) );
} }
...@@ -58,18 +67,17 @@ class Piwik_Log_APICall extends Piwik_Log ...@@ -58,18 +67,17 @@ class Piwik_Log_APICall extends Piwik_Log
$event['parameter_values'] = serialize($parameterValues); $event['parameter_values'] = serialize($parameterValues);
$event['execution_time'] = $executionTime; $event['execution_time'] = $executionTime;
$event['returned_value'] = is_array($returnedValue) ? serialize($returnedValue) : $returnedValue; $event['returned_value'] = is_array($returnedValue) ? serialize($returnedValue) : $returnedValue;
parent::log($event, Piwik_Log::INFO, null); parent::log($event, Piwik_Log::INFO, null);
} }
} }
/** /**
* Class used to format the API Call log on the screen. * Class used to format the API Call log on the screen.
* *
* @package Piwik * @package Piwik
* @subpackage Piwik_Log * @subpackage Piwik_Log
*/ */
class Piwik_Log_APICall_Formatter_ScreenFormatter extends Piwik_Log_Formatter_ScreenFormatter class Piwik_Log_APICall_Formatter_ScreenFormatter extends Piwik_Log_Formatter_ScreenFormatter
{ {
/** /**
* Formats data into a single line to be written by the writer. * Formats data into a single line to be written by the writer.
...@@ -84,8 +92,7 @@ class Piwik_Log_APICall_Formatter_ScreenFormatter extends Piwik_Log_Formatter_Sc ...@@ -84,8 +92,7 @@ class Piwik_Log_APICall_Formatter_ScreenFormatter extends Piwik_Log_Formatter_Sc
$str .= "Parameters: "; $str .= "Parameters: ";
$parameterNamesAndDefault = unserialize($event['parameter_names_default_values']); $parameterNamesAndDefault = unserialize($event['parameter_names_default_values']);
$parameterValues = unserialize($event['parameter_values']); $parameterValues = unserialize($event['parameter_values']);
$i = 0;
$i = 0;
foreach($parameterNamesAndDefault as $pName => $pDefault) foreach($parameterNamesAndDefault as $pName => $pDefault)
{ {
if(isset($parameterValues[$i])) if(isset($parameterValues[$i]))
...@@ -96,15 +103,12 @@ class Piwik_Log_APICall_Formatter_ScreenFormatter extends Piwik_Log_Formatter_Sc ...@@ -96,15 +103,12 @@ class Piwik_Log_APICall_Formatter_ScreenFormatter extends Piwik_Log_Formatter_Sc
{ {
$currentValue = $pDefault; $currentValue = $pDefault;
} }
$currentValue = $this->formatValue($currentValue); $currentValue = $this->formatValue($currentValue);
$str .= "$pName = $currentValue, "; $str .= "$pName = $currentValue, ";
$i++; $i++;
} }
$str .= "\n<br /> "; $str .= "\n<br /> ";
// $str .= "Returned: ".$this->formatValue($event['returned_value']);
$str .= "\n<br /> "; $str .= "\n<br /> ";
return parent::format($str); return parent::format($str);
} }
...@@ -117,19 +121,18 @@ class Piwik_Log_APICall_Formatter_ScreenFormatter extends Piwik_Log_Formatter_Sc ...@@ -117,19 +121,18 @@ class Piwik_Log_APICall_Formatter_ScreenFormatter extends Piwik_Log_Formatter_Sc
*/ */
private function formatValue( $value ) private function formatValue( $value )
{ {
if(is_string($value)) if(is_string($value))
{ {
$value = "'$value'"; $value = "'$value'";
} }
if(is_null($value)) if(is_null($value))
{ {
$value= 'null'; $value= 'null';
} }
if(is_array($value)) if(is_array($value))
{ {
$value = "array( ".implode(", ", $value). ")"; $value = "array( ".implode(", ", $value). ")";
} }
return $value; return $value;
} }
} }
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter