using System; using System.Text; namespace TapTap.Common { public class TapLogger { /// /// Configures the logger. /// /// The log delegate. public static Action LogDelegate { get; set; } public static void Debug(string log) { LogDelegate?.Invoke(TapLogLevel.Debug, log); } public static void Debug(string format, params object[] args) { LogDelegate?.Invoke(TapLogLevel.Debug, string.Format(format, args)); } public static void Warn(string log) { LogDelegate?.Invoke(TapLogLevel.Warn, log); } public static void Warn(string format, params object[] args) { LogDelegate?.Invoke(TapLogLevel.Warn, string.Format(format, args)); } public static void Error(string log) { LogDelegate?.Invoke(TapLogLevel.Error, log); } public static void Error(string format, params object[] args) { LogDelegate?.Invoke(TapLogLevel.Error, string.Format(format, args)); } public static void Error(Exception e) { StringBuilder sb = new StringBuilder(); sb.Append(e.GetType()); sb.Append("\n"); sb.Append(e.Message); sb.Append("\n"); sb.Append(e.StackTrace); Error(sb.ToString()); } } }