diff options
| author | RblSb <msrblsb@gmail.com> | 2021-10-13 17:09:08 +0300 |
|---|---|---|
| committer | RblSb <msrblsb@gmail.com> | 2021-10-13 17:09:08 +0300 |
| commit | 575cc77af5258b87c79bdd500690774f6281348a (patch) | |
| tree | 37929ec6d38d5f1291dd61be6223053f8a0f1f8f /src/server/Logger.hx | |
| parent | e043a008063ec72c796409f0f15be5fc6dc8f41d (diff) | |
Stringify time in log
Diffstat (limited to 'src/server/Logger.hx')
| -rw-r--r-- | src/server/Logger.hx | 14 |
1 files changed, 13 insertions, 1 deletions
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> { |
