<?php
/*
NmnLogger is a library that provides logging functionnality to php applications
Copyright (C) 2006 Ivan Preziosi from netmeans.net - Rome.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
For more informations or to join the development of the library contact
the author at: hide@address.com
*/
require_once "logger/drivers/NmnLoggerBaseDriver.php";
/**
* This is the file logger driver used to log message logs diretcly to a text file.
* As like every NmnLogger driver it must extend the NmnLoggerBaseDriver class.
*
* @author Ivan Preziosi <hide@address.com>
* @version 1.1
* @since NmnLogger 0.5
* @package NmnLogger
*
*/
class NmnLoggerFileDriver extends NmnLoggerBaseDriver{
private $filePath = '';
private $fileName = '';
private $todayDate = '';
public function __construct(){
$this->todayDate = date("d_m_Y");
$this->filePath = 'logger/fileLogs/';
$this->fileName = $this->todayDate.'.log';
}
/**
* Writes the message log down to the specified file.
*/
public function doLog(NmnMessageFactory $message){
$filename = $this->filePath.$this->fileName;
$text = $message->getFormattedMessage();
$file = @fopen($filename,'a',true);
if (!$file){
fclose($file);
throw new Exception("NmnFileLogger Driver: unable to open logFile:($filename)<br />");
}
if (@fwrite($file,$text) === false){
fclose($file);
throw new Exception("NmnFileLogger Driver: unable to write to logFile:($filename)<br />");
}
fclose($file);
}
}
?>