C#Logger.Write清除以前的记录

时间:2016-11-03 06:35:32

标签: c# logging

我想用

Logger.Write(sw.ElapsedMilliseconds.ToString(), Logger.Severity.Warning);

扫描外部文本文件中的runningtime,但是如何在每次调试时清除此文本中以前存在的记录?

1 个答案:

答案 0 :(得分:1)

我认为最简单的方法是只更换文本文件,如果你真的想要清除整个文本文件。

我不知道您正在使用哪个平台,因此这是UWP中的一个示例:

logFile = await folder.CreateFileAsync("filename", CreationCollisionOption.ReplaceExisting);

对于日志记录我建议您不要清除文本文件,因为您将删除稍后可能需要的数据。我喜欢做的是为每一天创建文本文件。如果当天有一个文本文件,只需打开并写入即可。如果它还不存在,请创建一个新的(同样是UWP实现):

string logDate = DateTime.Now.ToString("yyyy-MM-dd");
try
{
    Windows.ApplicationModel.Package package = Windows.ApplicationModel.Package.Current;
    string appName = package.DisplayName;
    LOG_FILENAME = appName + "_" + logDate + ".log";
}
catch
{
    // defaultname you defined somewhere else
    LOG_FILENAME += "_" + logDate + ".log";
}

StorageFolder folder = ApplicationData.Current.LocalFolder;

logFile = await folder.CreateFileAsync(LOG_FILENAME, CreationCollisionOption.OpenIfExists);