Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Buenas,
Fiz uma classe que comporta, até o momento, uma função que gera log de erro. Vocês poderiam dar uma olhada para ver se existe uma forma mais inteligente (deve existir) de fazer essa classe? Principalmente na gravação do LOG em XML. Segue codigo:
class Other {
protected $pathLog;
public function __construct() {
$this->pathLog = $_SERVER["DOCUMENT_ROOT"].'projeto_01_agenda/apps/logs/';
}
public function writeLog($errorDescription, $errorDateTime, $fileType){
if ($fileType == 1) {
error_log($errorDescription."\n", 3, $this->pathLog.'logs.log');
} elseif ($fileType == 2) {
$documentXML = new DOMDocument();
if (!file_exists($this->pathLog.'logs.xml')) {
$rootNode = $documentXML->createElement("errors");
$documentXML->appendChild($rootNode);
$errorNode = $documentXML->createElement('error','');
$rootNode->appendChild($errorNode);
$errorDescriptionNode = $documentXML->createElement('errorDescription',$errorDescription);
$errorNode->appendChild($errorDescriptionNode);
$errorDateTimeNode = $documentXML->createElement('errorDateTime',$errorDateTime);
$errorNode->appendChild($errorDateTimeNode);
$documentXML->save($this->pathLog.'logs.xml');
} else {
$documentXML->Load($this->pathLog.'logs.xml');
$errorNode = $documentXML->getElementsByTagName('errors')->item(0);
$newErrorElement = $documentXML ->createElement('error');
$newErrorDescriptionElement = $documentXML ->createElement('errorDescription');
$newErrorDateTimeElement = $documentXML ->createElement('errorDateTime');
$errorDescriptionNode = $documentXML ->createTextNode ($errorDescription);
$errorDateTimeNode = $documentXML ->createTextNode ($errorDateTime);
$newErrorDescriptionElement -> appendChild($errorDescriptionNode);
$newErrorDateTimeElement -> appendChild($errorDateTimeNode);
$newErrorElement -> appendChild($newErrorDescriptionElement);
$newErrorElement -> appendChild($newErrorDateTimeElement);
$errorNode -> appendChild($newErrorElement);
$documentXML->save($this->pathLog.'logs.xml');
}
}
}
}
Grato desde já.
Carregando comentários...