2014-07-22 22:21:50|?次阅读|上传:wustguangh【已有?条评论】发表评论
日志文件使得我们可以监控程序的运行状态,本文介绍使用C#实现日志文件输出的类Log,该类会在Log目录下面根据4位的年份和两位的月份创建一个子文件夹,然后在该文件夹中输出文件名为yyyyMMdd.txt的日志文件。
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.IO; /// <summary> /// 记录日志 /// </summary> public class Log { public Log() { } /// <summary> /// 日志信息 /// </summary> /// <param name="message"></param> public static void WriteLog(string message) { try { string path = AppDomain.CurrentDomain.BaseDirectory + @"Log"; path += DateTime.Today.ToString("yyyyMM") + @""; if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string strFileName = DateTime.Today.ToString("yyyyMMdd") + ".txt"; using (StreamWriter output = new StreamWriter(path.Trim() + strFileName.Trim(), true, System.Text.Encoding.UTF8)) { output.WriteLine("============================================"); output.WriteLine("Time: " + System.DateTime.Now.ToString()); output.WriteLine(message.Trim()); output.WriteLine("============================================"); output.Flush(); output.Close(); } } catch (Exception e) { System.Diagnostics.Trace.WriteLine(e.Message); } } }
说明:
AppDomain:表示应用程序域,它是一个应用程序在其中执行的独立环境;
DateTime:可以获取系统时间;
使用StreamWriter是字符串流,使用该类的WriteLine函数可以实现文件行输出,该类的构造函数指定了文件路径和编码方式,使用完成后需要调用StreamWriter类的Close方法关闭资源。