%PDF- %PDF-
| Direktori : /home1/lightco1/www/plugins/vmpayment/sofort/sofort/library/ |
| Current File : //home1/lightco1/www/plugins/vmpayment/sofort/sofort/library/sofortLib_Logger.inc.php |
<?php
defined('_JEXEC') or die('Restricted access');
/// \cond
/**
* A basic implementation of logging mechanism intended for debugging
*
* Copyright (c) 2012 SOFORT AG
*
* Released under the GNU General Public License (Version 2)
* [http://www.gnu.org/licenses/gpl-2.0.html]
*
* $Date: 2012-11-23 11:34:40 +0100 (Fri, 23 Nov 2012) $
* @version SofortLib 1.5.4 $Id: sofortLib_Logger.inc.php 5748 2012-11-23 10:34:40Z Niehoff $
* @author SOFORT AG http://www.sofort.com (integration@sofort.com)
*
*/
class SofortLibLogger {
public $fp = null;
public $maxFilesize = 1048576;
/**
*
* Constructor left empty
*/
public function SofortLibLogger() {
// intentionally left empty
}
/**
* Logs $msg to a file which path is being set by it's unified ressource locator
* @param String $message
* @param URI $uri
*/
public function log($message, $uri) {
if ($this->logRotate($uri)) {
$this->fp = fopen($uri, 'w');
fclose($this->fp);
}
$this->fp = fopen($uri, 'a');
fwrite($this->fp, '['.date('Y-m-d H:i:s').'] '.$message."\n");
fclose($this->fp);
}
/**
* Copy the content of the logfile to a backup file if file size got too large
* Put the old log file into a tarball for later reference
* @param URI $uri
*/
public function logRotate($uri) {
$date = date('Y-m-d_h-i-s', time());
if (file_exists($uri)) {
if ($this->fp != null && filesize($uri) != false && filesize($uri) >= $this->maxFilesize) {
$oldUri = $uri;
// file ending
$ending = $ext = pathinfo($oldUri, PATHINFO_EXTENSION);
$newUri = dirname($oldUri).'/log_'.$date.'.'.$ending;
rename($oldUri, $newUri);
if (file_exists($oldUri)) {
unlink($oldUri);
}
return true;
}
}
return false;
}
}
/// \endcond
?>