using Exceptionless; using Exceptionless.Logging; using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; namespace Core.RabbitMQBus.Log { /// /// ExceptionLess日志实现 /// public class ExceptionLessLogger : ILoggerHelper { /// /// 记录trace日志 /// /// 信息来源 /// 日志内容 /// 添加标记 public void LogTrace(string source, string message, params string[] args) { if (args != null && args.Length > 0) { ExceptionlessClient.Default.CreateLog(source, message, LogLevel.Trace).AddTags(args).Submit(); } else { ExceptionlessClient.Default.SubmitLog(source, message, LogLevel.Trace); } } /// /// 异步记录trace日志 /// /// 信息来源 /// 日志内容 /// 添加标记 /// Task public async Task LogTraceAsync(string source, string message, params string[] args) { if (args != null && args.Length > 0) { ExceptionlessClient.Default.CreateLog(source, message, LogLevel.Trace).AddTags(args).Submit(); } else { ExceptionlessClient.Default.SubmitLog(source, message, LogLevel.Trace); } await Task.CompletedTask; } /// /// 记录debug信息 /// /// 信息来源 /// 日志内容 /// 标记 public void LogDebug(string source, string message, params string[] args) { if (args != null && args.Length > 0) { ExceptionlessClient.Default.CreateLog(source, message, LogLevel.Debug).AddTags(args).Submit(); } else { ExceptionlessClient.Default.SubmitLog(source, message, LogLevel.Debug); } } /// /// 记录debug信息 /// /// 信息来源 /// 日志内容 /// 标记 /// Task public async Task LogDebugAsync(string source, string message, params string[] args) { if (args != null && args.Length > 0) { ExceptionlessClient.Default.CreateLog(source, message, LogLevel.Debug).AddTags(args).Submit(); } else { ExceptionlessClient.Default.SubmitLog(source, message, LogLevel.Debug); } await Task.CompletedTask; } /// /// 记录Info日志 /// /// 信息来源 /// 日志内容 /// 标记 public void LogInfo(string source, string message, params string[] args) { if (args != null && args.Length > 0) { ExceptionlessClient.Default.CreateLog(source, message, LogLevel.Info).AddTags(args).Submit(); } else { ExceptionlessClient.Default.SubmitLog(source, message, LogLevel.Info); } } /// /// 异步记录Info日志 /// /// 信息来源 /// 日志内容 /// 标记 /// Task public async Task LogInfoAsync(string source, string message, params string[] args) { if (args != null && args.Length > 0) { ExceptionlessClient.Default.CreateLog(source, message, LogLevel.Info).AddTags(args).Submit(); } else { ExceptionlessClient.Default.SubmitLog(source, message, LogLevel.Info); } await Task.CompletedTask; } /// /// 记录警告日志 /// /// 信息来源 /// 日志内容 /// 标记 public void LogWarn(string source, string message, params string[] args) { if (args != null && args.Length > 0) { ExceptionlessClient.Default.CreateLog(source, message, LogLevel.Warn).AddTags(args).Submit(); } else { ExceptionlessClient.Default.SubmitLog(source, message, LogLevel.Warn); } } /// /// 异步记录警告日志 /// /// 信息来源 /// 日志内容 /// 标记 /// Task public async Task LogWarnAsync(string source, string message, params string[] args) { if (args != null && args.Length > 0) { ExceptionlessClient.Default.CreateLog(source, message, LogLevel.Warn).AddTags(args).Submit(); } else { ExceptionlessClient.Default.SubmitLog(source, message, LogLevel.Warn); } await Task.CompletedTask; } /// /// 记录错误日志 /// /// 信息来源 /// 日志内容 /// 标记 public void LogError(string source, string message, params string[] args) { if (args != null && args.Length > 0) { ExceptionlessClient.Default.CreateLog(source, message, LogLevel.Error).AddTags(args).Submit(); } else { ExceptionlessClient.Default.SubmitLog(source, message, LogLevel.Error); } } /// /// 异步记录错误日志 /// /// 信息来源 /// 日志内容 /// 标记 /// Task public async Task LogErrorAsync(string source, string message, params string[] args) { if (args != null && args.Length > 0) { ExceptionlessClient.Default.CreateLog(source, message, LogLevel.Error).AddTags(args).Submit(); } else { ExceptionlessClient.Default.SubmitLog(source, message, LogLevel.Error); } await Task.CompletedTask; } /// /// 提交异常日志 /// /// 异常对象 public void LogException(Exception ex) { ex.ToExceptionless().Submit(); } /// /// 异步提交异常日志 /// /// 异常对象 /// Task public async Task LogExceptionAsync(Exception ex) { ex.ToExceptionless().Submit(); await Task.CompletedTask; } } }