Added Assert to Logger

This commit is contained in:
Simon Lübeß
2021-02-05 15:50:50 +01:00
parent bca23f7a23
commit a2e4b5563e
2 changed files with 16 additions and 1 deletions
+15
View File
@@ -25,6 +25,11 @@ namespace GlitchLog
public abstract void Assert(bool condition, String error = Compiler.CallerExpression[0], String filePath = Compiler.CallerFilePath, int line = Compiler.CallerLineNum);
#if !DEBUG
[SkipCall]
#endif
public abstract void AssertDebug(bool condition, String error = Compiler.CallerExpression[0], String filePath = Compiler.CallerFilePath, int line = Compiler.CallerLineNum);
public abstract void Log(LogLevel level, StringView format, params Object[] args);
}
@@ -112,6 +117,16 @@ namespace GlitchLog
}
}
public override void AssertDebug(bool condition, String error = Compiler.CallerExpression[0], String filePath = Compiler.CallerFilePath, int line = Compiler.CallerLineNum)
{
if (!condition)
{
String failStr = scope .()..AppendF("Assert failed: {} at line {} in {}", error, line, filePath);
InternalLog(.Critical, failStr);
Internal.FatalError(failStr, 1);
}
}
private void InternalLog(LogLevel level, StringView format, params Object[] args)
{
if(_logLevel > level)
+1 -1
View File
@@ -29,7 +29,7 @@ namespace GlitchyEngine
public this()
{
Runtime.Assert(s_Instance == null, "Tried to create a second application.");
Log.EngineLogger.Assert(s_Instance == null, "Tried to create a second application.");
s_Instance = this;
_window = new Window(.Default);