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方法关闭资源。