using System; using System.IO; using System.Threading.Tasks; namespace DIXWeb.Util { /// /// 日志帮助类 /// public static class LogHelper { /// /// 写入日志到本地TXT文件 /// /// 日志内容 public static void WriteLog(string content, string folder = @"c:\logs\") { try { if (string.IsNullOrEmpty(folder)) folder = AppDomain.CurrentDomain.BaseDirectory; WriteLogFile(content, folder); } catch { } } public static string CurrentTimeString { get { return " 【" + System.DateTime.Now.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss fff") + "】"; } } public static void WriteLogFile(string content, string logFolder = @"c:\logs\", bool needtime = false) { if (needtime) content += " " + CurrentTimeString; string filename = System.DateTime.Now.ToLocalTime().ToString("yyMMddHHmm") + ".txt"; string directory = Path.GetDirectoryName(logFolder); string path = logFolder + filename; if (!Directory.Exists(directory)) { try { Directory.CreateDirectory(directory); } catch (Exception) { //盘符不存在情况 logFolder = "c:\\logs\\"; directory = Path.GetDirectoryName(logFolder); Directory.CreateDirectory(directory); } } FileStream fs = null; StreamWriter sw = null; try { if (!File.Exists(path)) fs = new FileStream(path, FileMode.Create, FileAccess.Write); else fs = new FileStream(path, FileMode.Append, FileAccess.Write); sw = new StreamWriter(fs); //开始写入 sw.WriteLine(content); //清空缓冲区 sw.Flush(); } catch (Exception er) { } finally { //关闭流 if (sw != null) { sw.Close(); sw.Dispose(); } if (fs != null) { fs.Close(); fs.Dispose(); } } } /// /// 写入日志到本地TXT文件 /// 注:日志文件名为"A_log.txt",目录为根目录 /// /// 日志内容 public static void WriteLog_LocalTxt(string log) { Task.Run(() => { string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "A_log.txt"); string logContent = $"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}:{log}\r\n"; File.AppendAllText(filePath, logContent); }); } } }