/// <summary> /// 写入日志 /// </summary> /// <param name="message"></param> /// <param name="ex"></param> /// <param name="toFiles"></param> /// <returns></returns> public static Task WriteAsync(string message, Exception ex = null, bool toFiles = true, LogEnumsType logEnumsType = LogEnumsType.LogsOption) { return(Task.Factory.StartNew(() => { try { if (string.IsNullOrEmpty(message)) { return; } message = $"===============================================\r\n" + $"日志时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff")}\r\n" + $"日志内容:{message}\r\n"; if (ex != null) { message += $"异常内容:{ex.Message}\r\n"; if (!string.IsNullOrEmpty(ex.StackTrace)) { message += $"堆栈内容:{ex.StackTrace}\r\n"; } } message += $"===============================================\r\n"; //Console.WriteLine(message); if (toFiles) { var filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"logs/{logEnumsType.GetDescription()}/{DateTime.Now.ToString("yyyy-MM-dd")}.txt"); message += "\r\n"; DoWrite(filePath, message); } } catch { } })); }
/// <summary> /// 写入日志 /// </summary> /// <param name="message"></param> /// <param name="ex"></param> /// <param name="toFiles"></param> /// <returns></returns> public static void Write(string message, Exception ex = null, bool toFiles = true, LogEnumsType logEnumsType = LogEnumsType.LogsOption) { try { if (string.IsNullOrEmpty(message)) { return; } message = $"===============================================\r\n" + $"日志时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff")}\r\n" + $"日志内容:{message}\r\n"; if (ex != null) { message += $"异常内容:{ex.Message}\r\n"; if (!string.IsNullOrEmpty(ex.StackTrace)) { message += $"堆栈内容:{ex.StackTrace}\r\n"; } if (!string.IsNullOrEmpty(ex.InnerException?.StackTrace ?? "")) { message += $"Inner 堆栈内容 内容:{ex.InnerException.StackTrace}"; } } message += $"===============================================\r\n"; if (toFiles) { var filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"logs/{logEnumsType.GetDescription()}/{DateTime.Now.ToString("yyyy-MM-dd")}.txt"); message += "\r\n"; DoWrite(filePath, message); } } catch { } }