C#日志的创建


前言

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());
}
  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值