51 lines
1.4 KiB
C#

using OWML.Common;
using System;
using System.ComponentModel;
using UnityEngine;
namespace NewHorizons.Utility
{
public static class Logger
{
private static LogType _logLevel = LogType.Error;
public static void UpdateLogLevel(LogType newLevel)
{
_logLevel = newLevel;
}
public static void Log(string text, LogType type)
{
if ((int)type < (int)_logLevel) return;
Main.Instance.ModHelper.Console.WriteLine($"{Enum.GetName(typeof(LogType), type)} : {text}", LogTypeToMessageType(type));
}
public static void Log(string text) => Log(text, LogType.Log);
public static void LogVerbose(string text) => Log(text, LogType.Verbose);
public static void LogError(string text) => Log(text, LogType.Error);
public static void LogWarning(string text) => Log(text, LogType.Warning);
public enum LogType
{
Todo,
Verbose,
Log,
Warning,
Error,
}
private static MessageType LogTypeToMessageType(LogType t)
{
switch (t)
{
case LogType.Error:
return MessageType.Error;
case LogType.Warning:
return MessageType.Warning;
default:
return MessageType.Info;
}
}
}
}