using System.Collections.Generic; namespace Funique { /// /// Funique use logger system
/// Use preprocessor LogLevel[X] to change the log level
/// ------------------------------------------------
/// Funique 使用的紀錄系統
/// 使用前處理器 LogLevel[X] 來改變紀錄等級 ///
/// /// #define LogLevel1 /// #define LogLevel2 /// #define LogLevel3 /// public static class FuniqueLogger { static List loggers = new List(); internal static int Level { get { #if LogLevel1 return 1; #elif LogLevel2 return 2; #elif LogLevel3 return 3; #elif LogLevel4 return 4; #elif LogLevel5 return 5; #else return 3; #endif } } public static void Init(LoggerApply logger = LoggerApply.Unity | LoggerApply.File) { if (logger.HasFlag(LoggerApply.File)) loggers.Add(new FileLogger()); if (logger.HasFlag(LoggerApply.Unity)) loggers.Add(new UnityLogger()); } public static void AddNewLogger(ILogger logger) { loggers.Add(logger); } public static void CleanLogger() { loggers.Clear(); } public static void Log(object message, string tag, int level = 3) { foreach (var logger in loggers) logger.Log(message, tag, level); } public static void Log(object message, int level = 3) { foreach (var logger in loggers) logger.Log(message, level); } public static void WarningLog(object message, string tag, int level = 3) { foreach (var logger in loggers) logger.Warning(message, tag, level); } public static void WarningLog(object message, int level = 3) { foreach (var logger in loggers) logger.Warning(message, level); } public static void ErrorLog(object message, string tag, int level = 3) { foreach (var logger in loggers) logger.Error(message, tag, level); } public static void ErrorLog(object message, int level = 3) { foreach (var logger in loggers) logger.Error(message, level); } } }