mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/IZYIM-Manufacturer.git
synced 2026-08-19 12:23:57 +00:00
69 lines
2.1 KiB
PHP
69 lines
2.1 KiB
PHP
<?php
|
|
/* *
|
|
* Log A logger class which creates logs when an exception is thrown.
|
|
* @author Author: Vivek Wicky Aswal. (https://twitter.com/#!/VivekWickyAswal)
|
|
* @git https://github.com/indieteq/PHP-MySQL-PDO-Database-Class
|
|
* @version 0.1a
|
|
*/
|
|
class Log {
|
|
|
|
# @string, Log directory name
|
|
private $path = '/logs/';
|
|
|
|
# @void, Default Constructor, Sets the timezone and path of the log files.
|
|
public function __construct() {
|
|
date_default_timezone_set('Asia/Kuala_Lumpur');
|
|
$this->path = dirname(__FILE__) . $this->path;
|
|
}
|
|
|
|
/**
|
|
* @void
|
|
* Creates the log
|
|
*
|
|
* @param string $message the message which is written into the log.
|
|
* @description:
|
|
* 1. Checks if directory exists, if not, create one and call this method again.
|
|
* 2. Checks if log already exists.
|
|
* 3. If not, new log gets created. Log is written into the logs folder.
|
|
* 4. Logname is current date(Year - Month - Day).
|
|
* 5. If log exists, edit method called.
|
|
* 6. Edit method modifies the current log.
|
|
*/
|
|
public function write($message) {
|
|
$date = new DateTime();
|
|
$log = $this->path . $date->format('Y-m-d').".txt";
|
|
if(is_dir($this->path)) {
|
|
if(!file_exists($log)) {
|
|
$fh = fopen($log, 'a+') or die("Fatal Error !");
|
|
$logcontent = "Time : " . $date->format('H:i:s')."\r\n" . $message ."\r\n";
|
|
fwrite($fh, $logcontent);
|
|
fclose($fh);
|
|
}
|
|
else {
|
|
$this->edit($log,$date, $message);
|
|
}
|
|
}
|
|
else {
|
|
if(mkdir($this->path,0777) === true)
|
|
{
|
|
$this->write($message);
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @void
|
|
* Gets called if log exists.
|
|
* Modifies current log and adds the message to the log.
|
|
*
|
|
* @param string $log
|
|
* @param DateTimeObject $date
|
|
* @param string $message
|
|
*/
|
|
private function edit($log,$date,$message) {
|
|
$logcontent = "Time : " . $date->format('H:i:s')."\r\n" . $message ."\r\n\r\n";
|
|
$logcontent = $logcontent . file_get_contents($log);
|
|
file_put_contents($log, $logcontent);
|
|
}
|
|
}
|
|
?>
|