首页 > 解决方案 > 此日志方法如何在 .NET 应用程序中工作?

问题描述

我正在使用C#开发一个.NET项目,但我有以下疑问。

我有这种方法可以将一些错误信息写入文件系统上特定目录中的.log文件中:

private static void writeErrorLog(string error)
{
    string date = DateTime.Now.ToString("yyyyMMdd_HHmmss");
    string currDir = Directory.GetCurrentDirectory();
    System.IO.File.AppendAllText(currDir + "\\FILE\\LOG\\Error_" + date + ".txt", error);
}

好的,这个writeErrorLog()方法将被调用到我的代码的一些try catch块中,如下所示:

try
{
    currentAttachmentFileData = currentAttachmentFile.OpenBinary();
    currentAttachementModel = new AttachmentModel(currentAttachment, currentAttachmentFileData);
    attachmentsModelList.Add(currentAttachementModel);
}
catch (Exception ex)
{
    //writeLog(2, String.Format("Unable to read the attachment, it may be corrupted {0} - {1}", fileName, ex.Message));
    writeErrorLog("Errore inserimento attachment. Numero protocollo: " + recNumber 
                + " Data protocollo: " + recDate 
                + " Nome attachment: " +  currentAttachmentFile 
                + " INFO: " + ex.ToString() + " | " + ex.Message + " | " + ex.StackTrace);


}

它发生在我代码的不同位置。

我的疑问是:文件是相同的,所以这意味着每次发生错误时都会在该文件中添加一个新行。

我的推理正确吗?

标签: c#.net

解决方案


文件名是string date = DateTime.Now.ToString("yyyyMMdd_HHmmss");这样的,它每秒都在变化。

您绝对应该在这里添加一些抽象并隐藏writeErrorLog在接口后面。在接口后面,您可以拥有自己的writeErrorLog.

有关可用库的更多信息:


推荐阅读