Как написать файл асинхронно с помощью logfornet
Я пишу информацию о протоколировании в файл с помощью библиотеки DLL log4net, но я хочу писать файлы асинхронно (например, с помощью async ) с помощью библиотеки dll log4net.
Что я уже пробовал:
public static void WriteInfoToLog(string Message, string RequestID, MCashModel.MCashEnums.RequestResponseType type) { try { string file_Path = String.Empty; string directory_Path = "~/LogDetails/" + DateTime.Today.ToString("yyyy") + "/" + DateTime.Today.ToString("MM") + "/" + DateTime.Today.ToString("dd") + "/" + DateTime.Now.Hour.ToString(); if (type == MCashEnums.RequestResponseType.Request) { file_Path = directory_Path + "/RQ_" + RequestID + ".txt"; } else if (type == MCashEnums.RequestResponseType.Response) { file_Path = directory_Path + "/RQ_" + RequestID + ".txt"; } if (!Directory.Exists(System.Web.HttpContext.Current.Server.MapPath(directory_Path))) { Directory.CreateDirectory(System.Web.HttpContext.Current.Server.MapPath(directory_Path)); } if (!File.Exists(System.Web.HttpContext.Current.Server.MapPath(file_Path))) { File.Create(System.Web.HttpContext.Current.Server.MapPath(file_Path)).Close(); } using (StreamWriter w = File.AppendText(System.Web.HttpContext.Current.Server.MapPath(file_Path))) { w.WriteLine("\r\nLog Entry (InFo): "); w.WriteLine("{0}", DateTime.Now.ToString(CultureInfo.InvariantCulture)); string err = "URL : " + System.Web.HttpContext.Current.Request.Url.ToString() + "." + "\r\n XML: \r\n" + Message + "."; //+ "\r\nStack Trace:" + stackTrace + "."; w.WriteLine(err); w.WriteLine("__________________________"); w.Flush(); w.Close(); } } catch (Exception exObject) { LoggerHelper.LogMessage(exObject.ToString()); } }
Afzaal Ahmad Zeeshan
Поддерживают ли они асинхронный паттерн?
Если нет, пожалуйста, рассмотрите возможность использования объектов задач для запуска процесса сохранения в фоновом режиме.
kumarravishankar
нет ее не поддерживают
kumarravishankar
можете ли вы, пожалуйста, предложить мне образец кода для этого
Afzaal Ahmad Zeeshan
Пожалуйста, смотрите Решение 1 для образца. Конечно, вам потребуется переписать максимум его, чтобы соответствовать вашим потребностям.