You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
1.6 KiB
72 lines
1.6 KiB
4 years ago
|
<?php
|
||
|
|
||
|
/*
|
||
|
|
||
|
Copyright (c) 2009-2019 F3::Factory/Bong Cosca, All rights reserved.
|
||
|
|
||
|
This file is part of the Fat-Free Framework (http://fatfreeframework.com).
|
||
|
|
||
|
This is free software: you can redistribute it and/or modify it under the
|
||
|
terms of the GNU General Public License as published by the Free Software
|
||
|
Foundation, either version 3 of the License, or later.
|
||
|
|
||
|
Fat-Free Framework 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
|
||
|
General Public License for more details.
|
||
|
|
||
|
You should have received a copy of the GNU General Public License along
|
||
|
with Fat-Free Framework. If not, see <http://www.gnu.org/licenses/>.
|
||
|
|
||
|
*/
|
||
|
|
||
|
//! Custom logger
|
||
|
class Log {
|
||
|
|
||
|
protected
|
||
|
//! File name
|
||
|
$file;
|
||
|
|
||
|
/**
|
||
|
* Write specified text to log file
|
||
|
* @return string
|
||
|
* @param $text string
|
||
|
* @param $format string
|
||
|
**/
|
||
|
function write($text,$format='r') {
|
||
|
$fw=Base::instance();
|
||
|
foreach (preg_split('/\r?\n|\r/',trim($text)) as $line)
|
||
|
$fw->write(
|
||
|
$this->file,
|
||
|
date($format).
|
||
|
(isset($_SERVER['REMOTE_ADDR'])?
|
||
|
(' ['.$_SERVER['REMOTE_ADDR'].
|
||
|
(($fwd=filter_var($fw->get('HEADERS.X-Forwarded-For'),
|
||
|
FILTER_VALIDATE_IP))?(' ('.$fwd.')'):'')
|
||
|
.']'):'').' '.
|
||
|
trim($line).PHP_EOL,
|
||
|
TRUE
|
||
|
);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Erase log
|
||
|
* @return NULL
|
||
|
**/
|
||
|
function erase() {
|
||
|
@unlink($this->file);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Instantiate class
|
||
|
* @param $file string
|
||
|
**/
|
||
|
function __construct($file) {
|
||
|
$fw=Base::instance();
|
||
|
if (!is_dir($dir=$fw->LOGS))
|
||
|
mkdir($dir,Base::MODE,TRUE);
|
||
|
$this->file=$dir.$file;
|
||
|
}
|
||
|
|
||
|
}
|