C#写日志的代码的折腾
作者: 葛屹肃 | 日期: 2021-06-12 | 分类: 个人杂谈
今天给之前的一个项目加入写日志的功能,这个项目是使用C#编写的,本来就是一段代码的事情,却折腾很久才完美解决。
其实,要求就是一个按日期来写TXT日志的功能,而且我也很快就写完,在我的电脑中测试一切正常。本以为这就结束了,结果放在客户的电脑运行时,报以下错误,看到这个错误我大概明白原因,就是因为日期格式问题。
开始时,我只要简单使用DateTime.Now.ToShortDateString()来生成当前日期的TXT,但是,这是使用电脑本来的日期的格式,如果电脑的日期格式为:yyyy/MM/dd时,就会出现以上错误。
而只是调期系统日期的话,无论如何都会碰到以上问题,这条路走不通。当然,我试过使用一个笨办法,就是单调获取年月日,DateTime.Now.Year.ToString()+DateTime.Now.Month.ToString()+DateTime.Now.Day.ToString(),这个办法可行,只是代码太繁锁,不是我想要的效果。
最后,搜索了下C#日期的格式,原来可以很简单地解决,而且一看就懂,DateTime.Now.ToString(“yyyy-MM-dd”),使用这一句就能完美解决了。
最后C#完整写日志代码如下:
static void writeLog(string str)
{if (!Directory.Exists(“Log”))
{
Directory.CreateDirectory(“Log”);
}
using (StreamWriter sw = new StreamWriter(@”Log\” + DateTime.Now.ToString(“yyyy-MM-dd”) + “.txt”, true))
{
sw.WriteLine(DateTime.Now.ToString(“G”) + “>>” + str);
sw.Close();
}
}
只要在需要写日志时,直接调writeLog(string str)即可,简单方便且可重复调用。
文章链接:https://www.geyisu.com/1997.html