C#日志写入text文件

发布时间 2024-01-08 11:34:57作者: 亦承
  public static void SaveLog(string LogMessage, int Level, string PreLogDir = "")
        {
            int LogLevel = 0;
            int.TryParse(ConfigurationManager.AppSettings["LogLevel"], out LogLevel);
            if (Level <= LogLevel)
            {
                try
                {
                    string dirpath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\" + PreLogDir + "log";
                    if (!Directory.Exists(dirpath))
                    {
                        Directory.CreateDirectory(dirpath);
                    }
                    if (File.Exists(dirpath + "\\log.txt") && new FileInfo(dirpath + "\\log.txt").Length > 512 * 1024)
                    {
                        File.Move(dirpath + "\\log.txt", dirpath + "\\log" + DateTime.Now.ToString("yyyy-MM-ddHHmmssfff") + ".txt");
                    }
                    foreach (string LogFile in Directory.GetFiles(dirpath, "*.txt"))
                    {
                        if (File.GetLastWriteTime(LogFile) < DateTime.Now.AddDays(-3))
                        {
                            File.Delete(LogFile);
                        }
                    }

                    File.AppendAllText(dirpath + "\\log.txt", DateTime.Now.ToString("yyyy-MM-ddHHmmssfff") + "_" + LogMessage);
                    File.AppendAllText(dirpath + "\\log.txt", "\r\n");
                }
                catch { }
            }
        }