对于一个完整的程序系统,一个日志记录是必不可少的。可以用它来记录程序在运行过程中的运行状态和报错信息。比如,那些不想通过弹框提示的错误,程序执行过程中捕获的异常等。

首先,在你的解决方案中,适当的目录中新建一个类,比如 LogManager:
编写如下代码:
/// <summary>
/// 日志管理
/// </summary>
public class LogManager
{
private string _logDir; // 日志文件存放目录
private static LogManager m_LogInstance; // 静态单例对象
// 静态构造函数
static LogManager()
{
m_LogInstance = new LogManager();
}
// 私有构造函数(必备函数,不允许外部对该类进行实例化)
private LogManager()
{
_logDir = Environment.CurrentDirectory + "\\Log";
this.DelOldFile();
}
/// <summary>
/// 属性获取单例对象
/// </summary>
public static LogManager LogInstance
{
get { return m_LogInstance; }
}
/// <summary>
/// 写入一条日志记录
/// </summary>
/// <param name="pLog">日志记录内容</param>
public void WriteLog(string pLog)
{
lock (this._logDir) //排它锁:防止主程序中出现多线程同时访问同一个文件出错
{
// 根据时间创建一个日志文件
var vDT = DateTime.Now;
string vLogFile = string.Format("{0}\\Log{1}{2}{3}.log",_logDir,vDT.Year,vDT.Month,vDT.Day);
// 创建文件流,用于写入
using (FileStream fs = new FileStream(vLogFile, FileMode.Append))
{
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine("{0} >> {1}", vDT.ToString("yyyy-MM-dd HH:mm:ss"), pLog);
sw.Flush();
sw.Close();
fs.Close();
}
}
}
// 删除过期文件
private void DelOldFile()
{
// 遍历指定文件夹下所有子文件,将一定期限前的日志文件删除。
if (!Directory.Exists(this._logDir))
{
// 如果文件夹目录不存在
Directory.CreateDirectory(this._logDir);
return;
}
var vFiles = (new DirectoryInfo(this._logDir)).GetFiles();
for (int i = vFiles.Length - 1; i >= 0; i--)
{
// 指定条件,然后删除
if (vFiles[i].Name.Contains("Log"))
{
if ((DateTime.Now - vFiles[i].LastWriteTime).Days > 7)
{
vFiles[i].Delete();
}
}
}
}
} // end class
其中,第8行-第26行是关于实现单例模式的一种方法。这样,在你程序的需要位置执行:
LogManager.LogInstance.WriteLog("产生了一条日志记录");
就会在指定文件中参数一条日志记录了。
即:2016-11-23 23:53:45 >> 产生了一条日志记录
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# C#
# 程序
# 日志输出
# C#打印日志的方法总结
# c#快速写本地日志方法
# 使用C#实现写入系统日志
# C#中四步轻松使用log4net记录本地日志的方法
# C#控制台程序使用Log4net日志组件详解
# C#实现写系统日志的方法
# C#实现将程序运行信息写入日志的方法
# C#实现将日志写入文本文件的方法
# C#实现Log4Net日志分类和自动维护实例
# C# 微信支付 wx.chooseWXPay 签名错误的解决方法
# C#中调用DLL时未能加载文件或程序集错误的处理方法(详解)
# C# httpwebrequest访问HTTPS错误处理方法
# C# 如何添加错误日志信息
# 过程中
# 产生了
# 主程序
# 可以用
# 遍历
# 会在
# 不存在
# 报错
# 必不可少
# 创建一个
# 它来
# 多线程
# 大家多多
# 新建一个
# 运行状态
# 目录中
# return
# LogInstance
# DelOldFile
# m_LogInstance
相关文章:
广州建站公司哪家好?十大优质服务商推荐
如何用VPS主机快速搭建个人网站?
C#如何序列化对象为XML XmlSerializer用法
油猴 教程,油猴搜脚本为什么会网页无法显示?
合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?
如何在阿里云购买域名并搭建网站?
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
历史网站制作软件,华为如何找回被删除的网站?
建站之星IIS配置教程:代码生成技巧与站点搭建指南
网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
如何快速打造个性化非模板自助建站?
5种Android数据存储方式汇总
如何批量查询域名的建站时间记录?
建站之星展会模版如何一键下载生成?
建站之星如何保障用户数据免受黑客入侵?
php条件判断怎么写_ifelse和switchcase的使用区别【对比】
浅析上传头像示例及其注意事项
学校为何禁止电信移动建设网站?
焦点电影公司作品,电影焦点结局是什么?
Android自定义控件实现温度旋转按钮效果
如何在阿里云虚拟服务器快速搭建网站?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析
建站主机选虚拟主机还是云服务器更好?
建站之星官网登录失败?如何快速解决?
建站168自助建站系统:快速模板定制与SEO优化指南
建站主机服务器选型指南与性能优化方案解析
高性价比服务器租赁——企业级配置与24小时运维服务
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
如何基于云服务器快速搭建个人网站?
招商网站制作流程,网站招商广告语?
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
如何通过可视化优化提升建站效果?
太平洋网站制作公司,网络用语太平洋是什么意思?
香港服务器租用费用高吗?如何避免常见误区?
如何快速辨别茅台真假?关键步骤解析
专业公司网站制作公司,用什么语言做企业网站比较好?
建站主机空间推荐 高性价比配置与快速部署方案解析
如何在VPS电脑上快速搭建网站?
如何用腾讯建站主机快速创建免费网站?
如何快速搭建高效可靠的建站解决方案?
网站制作模板下载什么软件,ppt模板免费下载网站?
制作网站外包平台,自动化接单网站有哪些?
如何在阿里云完成域名注册与建站?
定制建站哪家更专业可靠?推荐榜单揭晓
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
*请认真填写需求信息,我们会在24小时内与您取得联系。