aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRblSb <msrblsb@gmail.com>2021-10-13 17:09:08 +0300
committerRblSb <msrblsb@gmail.com>2021-10-13 17:09:08 +0300
commit575cc77af5258b87c79bdd500690774f6281348a (patch)
tree37929ec6d38d5f1291dd61be6223053f8a0f1f8f
parente043a008063ec72c796409f0f15be5fc6dc8f41d (diff)
Stringify time in log
-rw-r--r--build/server.js24
-rw-r--r--src/server/ConsoleInput.hx5
-rw-r--r--src/server/Logger.hx14
-rw-r--r--src/server/Main.hx2
-rw-r--r--src/server/ServerEvent.hx2
5 files changed, 37 insertions, 10 deletions
diff --git a/build/server.js b/build/server.js
index 8000342..d256692 100644
--- a/build/server.js
+++ b/build/server.js
@@ -3623,7 +3623,7 @@ server_ConsoleInput.prototype = {
}
}
var _g1 = 0;
- while(_g1 < _g.length) haxe_Log.trace(haxe_io_Path.withoutExtension(_g[_g1++]),{ fileName : "src/server/ConsoleInput.hx", lineNumber : 141, className : "server.ConsoleInput", methodName : "parseLine"});
+ while(_g1 < _g.length) haxe_Log.trace(haxe_io_Path.withoutExtension(_g[_g1++]),{ fileName : "src/server/ConsoleInput.hx", lineNumber : 142, className : "server.ConsoleInput", methodName : "parseLine"});
break;
case "removeAdmin":
this.main.removeAdmin(args[0]);
@@ -3644,7 +3644,7 @@ server_ConsoleInput.prototype = {
var len = args.length;
var actual = this.commands.h[command].args.length;
if(len != actual) {
- haxe_Log.trace("Wrong count of arguments for command \"" + command + "\" (" + len + " instead of " + actual + ")",{ fileName : "src/server/ConsoleInput.hx", lineNumber : 153, className : "server.ConsoleInput", methodName : "isValidArgs"});
+ haxe_Log.trace("Wrong count of arguments for command \"" + command + "\" (" + len + " instead of " + actual + ")",{ fileName : "src/server/ConsoleInput.hx", lineNumber : 154, className : "server.ConsoleInput", methodName : "isValidArgs"});
return false;
}
return true;
@@ -3674,7 +3674,7 @@ server_ConsoleInput.prototype = {
var data = _g.value;
list.push("" + StringTools.rpad("/" + _g.key + " " + data.args.join(" ")," ",maxLength) + " | " + data.desc);
}
- haxe_Log.trace("Unknown command \"" + line + "\". List:\n" + list.join("\n"),{ fileName : "src/server/ConsoleInput.hx", lineNumber : 172, className : "server.ConsoleInput", methodName : "printHelp"});
+ haxe_Log.trace("Unknown command \"" + line + "\". List:\n" + list.join("\n"),{ fileName : "src/server/ConsoleInput.hx", lineNumber : 173, className : "server.ConsoleInput", methodName : "printHelp"});
}
,__class__: server_ConsoleInput
};
@@ -3881,6 +3881,20 @@ server_Logger.prototype = {
if(this.logs.length > 1000) {
this.logs.shift();
}
+ if(this.hasSameLatestEvents("GetTime",5)) {
+ this.logs.splice(this.logs.length - 3,1);
+ }
+ }
+ ,hasSameLatestEvents: function(type,count) {
+ if(this.logs.length < count) {
+ return false;
+ }
+ var _g = 1;
+ var _g1 = count + 1;
+ while(_g < _g1) if(this.logs[this.logs.length - _g++].event.type != type) {
+ return false;
+ }
+ return true;
}
,saveLog: function() {
if(this.logs.length == 0) {
@@ -3889,7 +3903,7 @@ server_Logger.prototype = {
server_Utils.ensureDir(this.folder);
this.removeOldestLog(this.folder);
var name = DateTools.format(new Date(),"%Y-%m-%d_%H_%M_%S");
- js_node_Fs.writeFileSync("" + this.folder + "/" + name + ".json",JSON.stringify(this.logs,$bind(this,this.filterNulls),"\t"));
+ js_node_Fs.writeFileSync("" + this.folder + "/" + name + ".json",JSON.stringify(this.getLogs(),$bind(this,this.filterNulls),"\t"));
}
,getLogs: function() {
return this.logs;
@@ -4314,7 +4328,7 @@ server_Main.prototype = {
}
,onMessage: function(client,data,internal) {
var _gthis = this;
- this.logger.log({ clientName : client.name, clientGroup : client.group, event : data, time : new Date().getTime()});
+ this.logger.log({ clientName : client.name, clientGroup : client.group, event : data, time : HxOverrides.dateStr(new Date())});
switch(data.type) {
case "AddVideo":
if(!this.checkPermission(client,"addVideo")) {
diff --git a/src/server/ConsoleInput.hx b/src/server/ConsoleInput.hx
index 119d87e..4ae729c 100644
--- a/src/server/ConsoleInput.hx
+++ b/src/server/ConsoleInput.hx
@@ -135,8 +135,9 @@ class ConsoleInput {
case LogList:
Utils.ensureDir(main.logsDir);
- final names = FileSystem.readDirectory(main.logsDir)
- .filter(s -> s.endsWith(".json"));
+ final names = FileSystem.readDirectory(main.logsDir).filter(s -> {
+ return s.endsWith(".json");
+ });
for (name in names) {
trace(Path.withoutExtension(name));
}
diff --git a/src/server/Logger.hx b/src/server/Logger.hx
index f089c94..c1d82d8 100644
--- a/src/server/Logger.hx
+++ b/src/server/Logger.hx
@@ -1,5 +1,6 @@
package server;
+import Types.WsEventType;
import haxe.Json;
import haxe.io.Path;
import sys.FileSystem;
@@ -24,6 +25,17 @@ class Logger {
public function log(event:ServerEvent):Void {
logs.push(event);
if (logs.length > 1000) logs.shift();
+ if (hasSameLatestEvents(GetTime, 5)) {
+ logs.splice(logs.length - 3, 1);
+ }
+ }
+
+ function hasSameLatestEvents(type:WsEventType, count:Int):Bool {
+ if (logs.length < count) return false;
+ for (i in 1...count + 1) {
+ if (logs[logs.length - i].event.type != type) return false;
+ }
+ return true;
}
public function saveLog():Void {
@@ -31,7 +43,7 @@ class Logger {
Utils.ensureDir(folder);
removeOldestLog(folder);
final name = DateTools.format(Date.now(), "%Y-%m-%d_%H_%M_%S");
- File.saveContent('$folder/$name.json', Json.stringify(logs, filterNulls, "\t"));
+ File.saveContent('$folder/$name.json', Json.stringify(getLogs(), filterNulls, "\t"));
}
public function getLogs():Array<ServerEvent> {
diff --git a/src/server/Main.hx b/src/server/Main.hx
index 3ab0621..7a1b06a 100644
--- a/src/server/Main.hx
+++ b/src/server/Main.hx
@@ -405,7 +405,7 @@ class Main {
clientName: client.name,
clientGroup: client.group.toInt(),
event: data,
- time: Date.now().getTime()
+ time: Date.now().toString()
});
switch (data.type) {
case Connected:
diff --git a/src/server/ServerEvent.hx b/src/server/ServerEvent.hx
index 6b9080f..1817028 100644
--- a/src/server/ServerEvent.hx
+++ b/src/server/ServerEvent.hx
@@ -3,7 +3,7 @@ package server;
import Types.WsEvent;
typedef ServerEvent = {
- time:Float,
+ time:String,
clientName:String,
clientGroup:Int,
event:WsEvent
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage