如果开发了一个小型应用(比如拿控制台程序跑数据等),又要快速的部署,但是总会出现这样那样的问题,这个时候引用第三方日志组件是一个解决方案,如果不想引用nuget包自己快速写一个日志组件方法也是一个不错的选项。当然自己写的可能存在不稳定等因素,下面我们来实现一下这个功能。
一、实现思路
可以通过文件流的方式写入到程序运行的目录,并根据日期来建文件名称,最好使用静态类和静态方法,方便调用。.
二、实现调用。
首先建一个静态类,并建一个日志的静态方法。然后引入using System.Text类,方法的代码如下:
static void Writelog(string logContent)
{
StreamWriter stream;
//写入日志内容
string path = AppDomain.CurrentDomain.BaseDirectory+"//logs";
//检查物理路径是否存在,不存在则创建路径
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
stream = new StreamWriter(path + $"\\log{DateTime.Now.ToString("yyyyMMdd")}.txt",true, Encoding.Default);
stream.Write(DateTime.Now.ToString() + ":" + logContent);
stream.Write("\r\n");//追加写入
stream.Flush();
stream.Close();//一定要关闭流
}
调用的方法更简单,如下:
string dosomesting = "动态计算";
//成功
Writelog($"{dosomesting}执行成功");
//错误
Writelog($"{dosomesting}执行失败");
执行结果效果如下:
结语
这是一个自定义简单的写入日志方法,优点是快速部署调用方便,缺点是稳定性差、不能自动捕获日志,当然大家感兴趣的话也可以研究一下怎么样实现自动日志捕获。