Logging in Funktionen

NanoNuna

Mitglied
Hallo,

könnte mir jemand evtl. sagen warum folgendes nicht funktioniert und wie man es schreiben muss, dass es funktioniert?

PHP:
<?php

/** #### Beispiel Klasse für Logging #### */


/** Log-Objekte zugewiesen. */
$log = Log::factory('file', error.log, "test.php", $opts, PEAR_LOG_INFO);


function durchschnitt ($a, $b)
{

$log->log($BEGIN.':'.' durchschnitt'.$a.$b , PEAR_LOG_INFO);


 $c = ($a/$b);

$log->log($END.': durchschnitt'.$c, PEAR_LOG_INFO);


return $c;
}

echo durchschnitt (6,2);



?>


Was ich möchte ist, das er mir einfach die Werte in die Log Datei schreibt.
Wenn "$log = Log::factory('file', error.log, "test.php", $opts, PEAR_LOG_INFO);" ausserhalb steht, sowie jetzt, bringt er mir eine Fehlermeldung und schreibe ich es in die Funktion, dann macht er garnichts.

Hoffe mir kann jemand helfen.

Gruß
Nano
 
Hi Nano!

Wenn du das auserhalb der Funktion verwendest, kennt er die Variable nicht innerhalb. Abhilfe schafft .. - sowohl ausserhalb als auch innerhalb notiert, oder eben die Zuweisung direkt in die Funktion.
PHP:
global $log;

Weiterhin sollteste du die Zuweisung als Referenz machen:
PHP:
$log = &Log::factory( ... );

Schau mal obs geht

Dirk
 
Zurück