Added Assert to Logger

This commit is contained in:
Simon Lübeß
2020-12-30 14:22:51 +01:00
parent 23d2572941
commit f3c5ac3d60
+12
View File
@@ -23,6 +23,8 @@ namespace GlitchLog
public abstract void Error(StringView format, params Object[] args); public abstract void Error(StringView format, params Object[] args);
public abstract void Critical(StringView format, params Object[] args); public abstract void Critical(StringView format, params Object[] args);
public abstract void Assert(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); public abstract void Log(LogLevel level, StringView format, params Object[] args);
} }
@@ -100,6 +102,16 @@ namespace GlitchLog
InternalLog(level, format, params args); InternalLog(level, format, params args);
} }
public override void Assert(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) private void InternalLog(LogLevel level, StringView format, params Object[] args)
{ {
if(_logLevel > level) if(_logLevel > level)