我正在使用StraemWriter將文本消息記錄到日誌文件中。如果日誌文件不存在,則應創建該日誌文件,如果文件創建日期少於給定時間,則附加到日誌文件,或者在該日期之前創建該日誌文件。我使用下面StreamWriter不寫數據
public static class LogIt
{
private const string LOG_FNAME = @"Logfile.log";
public static void WriteMsg(string msg)
{
bool append = true;
if (File.Exists(LOG_FNAME))
{
//DateTime delDate = DateTime.Now.AddDays(-1);
DateTime delDate = DateTime.Now.AddMinutes(-30);
DateTime fileCreatedDate = File.GetCreationTime(LOG_FNAME);
if (DateTime.Compare(fileCreatedDate, delDate) < 0)
{
Console.WriteLine("DELETE FILE");
File.Delete(LOG_FNAME);
}
}
using (StreamWriter sw = new StreamWriter(LOG_FNAME, append))
{
sw.WriteLine(msg);
}
Console.WriteLine(msg);
}
}
類/代碼此類用於由它運行每隔x分鐘的任務計劃程序運行一個簡單的控制檯應用程序。
消息的寫法如下:
LogIt.WriteMsg("Log this message");
的消息顯示,當該文件最初但創建時的文件創建日期是過去刪除日期,創建該文件,但沒有後續消息文件永遠寫入文件。
任何想法爲什麼?
試過調試了嗎? – Renan
我轉載了你的代碼,它工作正常,你確定問題不在別的地方嗎? –
@Renen,我已經通過代碼並使用console.writeline輸出消息,程序似乎工作,但是當文件被刪除,然後創建sw.Writeline不會寫文本只是一個emtpy文件存在。 – MPD