55 lines
1.2 KiB
C#
55 lines
1.2 KiB
C#
|
namespace Nerfed.Runtime;
|
||
|
|
||
|
public static class Log
|
||
|
{
|
||
|
public enum Type
|
||
|
{
|
||
|
Info,
|
||
|
Warning,
|
||
|
Error
|
||
|
}
|
||
|
|
||
|
public static void Info(object message)
|
||
|
{
|
||
|
LogInternal(Type.Info, message);
|
||
|
}
|
||
|
|
||
|
public static void Warning(object message)
|
||
|
{
|
||
|
LogInternal(Type.Warning, message);
|
||
|
}
|
||
|
|
||
|
public static void Error(object message)
|
||
|
{
|
||
|
LogInternal(Type.Error, message);
|
||
|
}
|
||
|
|
||
|
public static void Force(Type logType, object message)
|
||
|
{
|
||
|
LogInternal(logType, message);
|
||
|
}
|
||
|
|
||
|
private static void LogInternal(Type logType, object message)
|
||
|
{
|
||
|
TextWriter writer = logType <= Type.Warning ? Console.Out : Console.Error;
|
||
|
|
||
|
switch (logType)
|
||
|
{
|
||
|
case Type.Info:
|
||
|
writer.WriteLine();
|
||
|
break;
|
||
|
case Type.Warning:
|
||
|
writer.WriteLine("[Warning] ");
|
||
|
break;
|
||
|
case Type.Error:
|
||
|
writer.WriteLine("[Error] ");
|
||
|
break;
|
||
|
default:
|
||
|
throw new ArgumentOutOfRangeException(nameof(logType), logType, null);
|
||
|
}
|
||
|
|
||
|
writer.Write(message);
|
||
|
writer.Flush();
|
||
|
}
|
||
|
}
|