平常我们在写接口的时候可以在本地debug测试,但是一旦把项目部署到服务器时就需要使用日志,输出我们想要的结果。
下面是我写的log方法
代码里有详细的介绍,不懂问我
using iTextSharp.text;
using iTextSharp.text.pdf;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
public class LogMethod
{
public static void log(string logMessage)
{
//获取当前项目的基目录 E:\hzrvs\ConsoleApplication1\ConsoleApplication1\bin\Debug\
string path = AppDomain.CurrentDomain.BaseDirectory;
//移除某个位置的后几个字符,我这里的意思是移除lenth-1 位置的后一个字符 E:\hzrvs\ConsoleApplication1\ConsoleApplication1\bin\Debug
path = path.Remove(path.Length - 1, 1);
//返回一个新字符串,其中当前实例中出现的所有指定字符串都替换为另一个指定的字符串
//将/替换为\\ E:\hzrvs\ConsoleApplication1\ConsoleApplication1\bin\Debug
path = path.Replace("/", "\\");
//截取字符串,截取从0到最后一个\\出现的位置的字符串 E:\hzrvs\ConsoleApplication1\ConsoleApplication1\bin
path = path.Substring(0, path.LastIndexOf("\\"));
//拼串,拼出自己想要存放的位置的路径 E:\hzrvs\ConsoleApplication1\ConsoleApplication1\bin\logs\11-18\
path = path + "\\logs\\" + DateTime.Now.Date.ToString("MM-dd") + "\\";
//检查这个路径存在吗,不存在就创建
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
//带有文件名和后缀的路径 E:\hzrvs\ConsoleApplication1\ConsoleApplication1\bin\logs\11-18\log.txt
path += "log.txt";
//向指定的文件操作,如果文件存在就追加,不存在就新建
StreamWriter writer = new StreamWriter(path, true, System.Text.Encoding.UTF8);
//在文件里写一行日期
writer.WriteLine(DateTime.Now.Date);
//在文件里写一行信息
writer.WriteLine(logMessage);
//关闭写文件的流
writer.Close();
}
}
}
然后就是在我们需要的地方让他输出
这是我输出的log