mirror of
https://github.com/tuxis-ie/nsedit.git
synced 2025-06-07 00:47:00 +03:00
Initial implementation of log rotation.
This commit is contained in:
parent
a8abca1121
commit
d1b817443c
4 changed files with 77 additions and 1 deletions
|
@ -7,7 +7,12 @@ $apiproto = 'http'; # http | https
|
|||
$apisslverify = FALSE; # Verify SSL Certificate if using https for apiproto
|
||||
$allowzoneadd = FALSE; # Allow normal users to add zones
|
||||
$logging = TRUE;
|
||||
$allowclearlogs = TRUE; # Allow clearing of log entries
|
||||
$allowrotatelogs = FALSE;# Allow rotation to text file on server
|
||||
|
||||
# Log directory - if allowrotatelogs is set, this is where the logs will
|
||||
# be written. It must be writeable by the web server user.
|
||||
$logsdirectory = "../etc";
|
||||
|
||||
# If you configure this, nsedit will try to authenticate via WeFact too.
|
||||
# Debtors will be added to the sqlitedatabase with their crypted password.
|
||||
|
|
|
@ -277,6 +277,37 @@ function clearlogs() {
|
|||
writelog("Logtable truncated.");
|
||||
}
|
||||
|
||||
function rotatelogs() {
|
||||
global $logging, $logsdirectory;
|
||||
if ($logging !== TRUE)
|
||||
return FALSE;
|
||||
|
||||
if(!is_dir($logsdirectory) || !is_writable($logsdirectory)) {
|
||||
writelog("Logs directory cannot be written to.");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
date_default_timezone_set('UTC');
|
||||
$filename = date("Y-m-d-His") . ".json";
|
||||
$file = fopen($logsdirectory . "/" . $filename, "x");
|
||||
|
||||
if($file === FALSE) {
|
||||
writelog("Can't create file for log rotation.");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if(fwrite($file,json_encode(getlogs())) === FALSE) {
|
||||
writelog("Can't write to file for log rotation.");
|
||||
fclose($file);
|
||||
return FALSE;
|
||||
} else {
|
||||
fclose($file);
|
||||
clearlogs();
|
||||
return $filename;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function writelog($line) {
|
||||
global $logging;
|
||||
if ($logging !== TRUE)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue