Sxer.Base.Debug(打印调试)
说明
在不同的使用场景下可能打印的方式有所不同,所以这里抽象出调试器,没有具体实现,但是将固定功能提出来,即打印:打印分几个级别,且能够通过maskLevle控制打印是否屏蔽
namespace Sxer.Base.Debug
{public class Debugger{public static IDebugHelper m_DebugHelper;public static LogLevel maskLevel = LogLevel.None;public static void SetHelper(IDebugHelper helper){m_DebugHelper = helper;}public static void Log(string message){if (m_DebugHelper != null)if (!maskLevel.HasFlag(LogLevel.Debug))m_DebugHelper.Log(LogLevel.Debug, message);}public static void LogWarning(string message){if (m_DebugHelper != null)if (!maskLevel.HasFlag(LogLevel.Warning))m_DebugHelper.Log(LogLevel.Warning, message);}public static void LogError(string message){if (m_DebugHelper != null)if (!maskLevel.HasFlag(LogLevel.Error))m_DebugHelper.Log(LogLevel.Error, message);}}
}
namespace Sxer.Base.Debug
{public interface IDebugHelper{void Log(LogLevel level, string message);}public enum LogLevel{None = 0,Debug = 1,Warning = 2,Error = 4}
}
测试:
//屏蔽debug和warning等级的打印,只打印Error
Sxer.Base.Debug.Debugger.maskLevel = LogLevel.Debug | LogLevel.Warning;