前言
C# 日志创建于写入,在日常开发中,日志的作用是非常重要的,是反馈用户结果,记录错误信息,记录重要操作必不可少的模块。
提示:以下是本篇文章正文内容,下面案例可供参考
一、如何创建日志,按什么格式最好
日志用于记录,分析程序运行过程中的错误与重要结果,根据实际需求可按天记录,按小时记录,日志的创建写入主要涉及IO操作,以下将介绍如何创建及写入内容。
二、使用步骤
1.引入库
代码如下(示例):
using System.IO;
在处理文件操作时,一定要注意操作流程,创建日志时首先清除,我们的日志需要放在什么位置,例如:把日志放在根目录,按照根目录\日志\blog_xx年xx月xx日.txt 这样记录,那应该从外到内依次创建目录。
2.创建文件夹以及日志文件
代码如下(示例):
//程序根目录
string filepath = Directory.GetCurrentDirectory();
//日志文件夹所在路径,即...根目录\日志
string newpath = Path.Combine(filepath, "日志");
DateTime dateTime = DateTime.Now; //当前时间
//格式化当前日期为年月日的形式
string mydate = string.Format("{0:D4}{1:D2}{2:D2}", dateTime.Year, dateTime.Month, dateTime.Day);
//判断 “日志”文件夹是否存在,若不存在则先创建此文件夹
if(!File.Exists(newpath)){
//创建“日志”文件夹
DirectoryInfo directoryInfo=new DirectoryInfo(newpath);
directoryInfo.Create();
//检查“blog_xx年xx月xx日.txt”文件是否存在,不存在则创建
string path="blog_"+mydate+".txt";
string blogpath=Path.Combine(newpath, path);
if(!File.Exists(blogpath)){
FileStream fs = File.Create(blogpath);
fs.Close();
}
}else{
//若存在,则进一步检查“日志”文件夹内
string path = "blog_" + mydate + ".txt";
string blogpath = Path.Combine(newpath, path);
if (!File.Exists(blogpath))
{
FileStream fs = File.Create(blogpath);//创建文件
fs.Close();
}
}
3.写日志
//获取日志所在路径,打开,写入,关闭。需要注意,当多个进程同时读写一个日志文件时,可以参考使用Mutex进行加锁,进程互斥。
string filePath = Directory.getCurrentDirectory();
string newpath=Path.Combine(filePath,"日志");
DateTime dataTime = DateTime.Now;
string mydate = string.Format("{0:D4}{1:D2}{2:D2}",dateTime.Year,dateTime.Month,dateTime.Day);
string path="blog_"+mydate+".txt";
string mypath=Path.Combine(newpath,path);
FileStream fs=new FileStream(mypath,FileMode.Append,FileAccess.Write,FileShare.ReadWrite);
StreamWriter sw=new StreamWriter(fs);
try{
sw.WriteLine("xxxx这是写入的数据");
sw.Flush();
sw.Close();
}catch(IOException e){
sw.Flush();
sw.Close();
Console.WriteLine(e.toString());
}