我一直在尝试让日志系统工作,文件记录到date.txt,其中date是实际日期。这就是我所拥有的
public void LogMessageToFile(string msg)
{
var date = DateTime.Now.Date.ToString("yyyy-MM-dd");
string LogLine = System.String.Format(msg);
string path = Path.Combine(date, ".txt");
using (StreamWriter writer = File.AppendText(@"D:\Logs\" + path))
{
writer.WriteLineAsync(LogLine);
writer.Close();
}
}
机器人说无法找到路径'D:\ Logs \ 2017-12-22.txt'的一部分。
代码DateTime.Now.Date.ToString()
将返回一个字符串,如“12/23/2017 12:00:00 AM”。你正在更换斜线,这是好的,但冒号仍然存在,而且这些是不允许的。
如果您尝试从日期创建文件名,我建议您使用不带任何分隔符的可排序日期格式,例如
var name = System.DateTime.Now.ToString("yyyyMMdd") + ".txt"
我会替换这两行:
var date = DateTime.Now.Date.ToString();
string name = (date).Replace('/' , '-');
... with:
var date = DateTime.Now.Date.ToString("yyyy-MM-dd");
您可以重新排序日期部分格式字符串(“yyyy”,“MM”,“dd”)。由于文件/文件夹排序很好,然后它们更容易使用,因此通常以年 - 月 - 日订购。