Initial commit
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
using RobotNet10.ScriptEngine.HubContexts;
|
||||
|
||||
namespace RobotNet10.ScriptEngine.Models;
|
||||
|
||||
public class LoggerMission(Guid id, ConsoleHubContext hubContext) : RobotNet10.Script.ILogger
|
||||
{
|
||||
private string log = "";
|
||||
private readonly Mutex mutexLog = new();
|
||||
|
||||
public string GetLog()
|
||||
{
|
||||
mutexLog.WaitOne();
|
||||
var result = log;
|
||||
log = ""; // Clear log after reading
|
||||
mutexLog.ReleaseMutex();
|
||||
return result;
|
||||
}
|
||||
|
||||
public void LogError(string message)
|
||||
{
|
||||
hubContext.LogErrorToMission(id, message);
|
||||
|
||||
mutexLog.WaitOne();
|
||||
// Format: [LEVEL] YYYY-MM-DDTHH:mm:ss.fffZ | message
|
||||
log += $"[ERROR] {DateTime.UtcNow:yyyy-MM-ddTHH:mm:ss.fffZ} | {message}{Environment.NewLine}";
|
||||
mutexLog.ReleaseMutex();
|
||||
}
|
||||
|
||||
public void LogInfo(string message)
|
||||
{
|
||||
hubContext.LogInfoToMission(id, message);
|
||||
|
||||
mutexLog.WaitOne();
|
||||
// Format: [LEVEL] YYYY-MM-DDTHH:mm:ss.fffZ | message
|
||||
log += $"[INFO] {DateTime.UtcNow:yyyy-MM-ddTHH:mm:ss.fffZ} | {message}{Environment.NewLine}";
|
||||
mutexLog.ReleaseMutex();
|
||||
}
|
||||
|
||||
public void LogWarning(string message)
|
||||
{
|
||||
hubContext.LogWarningToMission(id, message);
|
||||
|
||||
mutexLog.WaitOne();
|
||||
// Format: [LEVEL] YYYY-MM-DDTHH:mm:ss.fffZ | message
|
||||
log += $"[WARN] {DateTime.UtcNow:yyyy-MM-ddTHH:mm:ss.fffZ} | {message}{Environment.NewLine}";
|
||||
mutexLog.ReleaseMutex();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user