首页 > 代码库 > C#写文本日志帮助类(支持多线程)

C#写文本日志帮助类(支持多线程)

using System;
using System.Configuration;
using System.IO;
using System.Threading;

namespace FQDService.Utils
{
/// <summary>
/// 写日志类
/// </summary>
public class FileLogger
{
#region 字段
public static readonly object _lock = new object();
#endregion

#region 写文件
/// <summary>
/// 写文件
/// </summary>
public static void WriteFile(string log, string path)
{
Thread thread = new Thread(new ParameterizedThreadStart(delegate(object obj)
{
lock (_lock)
{
if (!File.Exists(path))
{
using (FileStream fs = new FileStream(path, FileMode.Create)) { }
}

using (FileStream fs = new FileStream(path, FileMode.Append, FileAccess.Write))
{
using (StreamWriter sw = new StreamWriter(fs))
{
#region 日志内容
string value = http://www.mamicode.com/string.Format(@"{0}
--------------------------------------------------------
{1}

", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), obj.ToString());
#endregion

sw.WriteLine(value);
sw.Flush();
}
}
}
}));
thread.Start(log);
}
#endregion

#region 写日志
/// <summary>
/// 写日志
/// </summary>
public static void WriteLog(string log)
{
string logPath = ConfigurationManager.AppSettings["LogPath"] + "\\FQDService_Log.txt";
WriteFile(log, logPath);
}
#endregion

#region 写错误日志
/// <summary>
/// 写错误日志
/// </summary>
public static void WriteErrorLog(string log)
{
string logPath = ConfigurationManager.AppSettings["LogPath"] + "\\FQDService_ErrorLog.txt";
WriteFile(log, logPath);
}
#endregion

}
}

C#写文本日志帮助类(支持多线程)