public class WriteLog
{
/// <summary>
/// 將錯誤寫入文件中
/// </summary>
/// <param name="fileName">文件名</param>
/// <param name="exception">發生的異常</param>
public static void WriteErorrLog(string fileName, Exception exception)
{
if (exception == null) return; //ex = null 返回
DateTime dt = DateTime.Now; // 設置日志時間
string time = dt.ToString("yyyy-MM-dd HH:mm:ss"); //年-月-日 時:分:秒
string logName = dt.ToString("yyyy-MM-dd"); //日志名稱
string logPath = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, Path.Combine("log", fileName)); //日志存放路徑
string log = Path.Combine(logPath, string.Format("{0}.log", logName)); //路徑 + 名稱
try
{
FileInfo info = new FileInfo(log);
if (info.Directory != null && !info.Directory.Exists)
{
info.Directory.Create();
}
using (StreamWriter write = new StreamWriter(log, true, Encoding.GetEncoding("utf-8")))
{
write.WriteLine(time);
write.WriteLine(exception.Message);
write.WriteLine("異常信息:" + exception);
write.WriteLine("異常堆棧:" + exception.StackTrace);
write.WriteLine("異常簡述:" + exception.Message);
write.WriteLine("\r\n----------------------------------\r\n");
write.Flush();
write.Close();
write.Dispose();
}
}
catch { }
}
/// <summary>
/// 將終端內容打印到文件中
/// </summary>
/// <param name="fileName">文件名</param>
/// <param name="message">所要寫入的內容</param>
public static bool WriteMessage(string fileName, string message)
{
//ex = null 返回
DateTime dt = DateTime.Now; // 設置日志時間
string time = dt.ToString("yyyy-MM-dd HH:mm:ss"); //年-月-日 時:分:秒
string logName = dt.ToString("yyyy-MM-dd"); //日志名稱
string logPath = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, Path.Combine("log", fileName)); //日志存放路徑
string log = Path.Combine(logPath, string.Format("{0}.log", logName)); //路徑 + 名稱
try
{
FileInfo info = new FileInfo(log);
if (info.Directory != null && !info.Directory.Exists)
{
info.Directory.Create();
}
using (StreamWriter write = new StreamWriter(log, true, Encoding.GetEncoding("utf-8")))
{
write.WriteLine(time);
write.WriteLine("信息:" + message);
write.WriteLine("\r\n----------------------------------\r\n");
write.Flush();
write.Close();
write.Dispose();
}
return true;
}
catch (Exception e)
{
WriteErorrLog("WriteMessageException", e);
return false;
}
}
/// <summary>
/// 將錯誤寫入文件中
/// </summary>
/// <param name="exception">發生的錯誤</param>
/// <param name="message">需要寫入的消息</param>
public static bool WriteErorrLog(Exception exception, string message)
{
if (exception == null) return false; //ex = null 返回
DateTime dt = DateTime.Now; // 設置日志時間
string time = dt.ToString("yyyy-MM-dd HH:mm:ss"); //年-月-日 時:分:秒
string logName = dt.ToString("yyyy-MM-dd"); //日志名稱
string logPath = System.AppDomain.CurrentDomain.BaseDirectory; //日志存放路徑
string log = Path.Combine(Path.Combine(logPath, "log"), string.Format("{0}.log", logName)); //路徑 + 名稱
try
{
FileInfo info = new FileInfo(log);
if (info.Directory != null && !info.Directory.Exists)
{
info.Directory.Create();
}
using (StreamWriter write = new StreamWriter(log, true, Encoding.GetEncoding("utf-8")))
{
write.WriteLine(time);
write.WriteLine(exception.Message);
write.WriteLine("異常信息:" + exception);
write.WriteLine("異常堆棧:" + exception.StackTrace);
write.WriteLine("異常簡述:" + message);
write.WriteLine("\r\n----------------------------------\r\n");
write.Flush();
write.Close();
write.Dispose();
}
return true;
}
catch (Exception e)
{
WriteMessage("ErrorLogException", e.ToString());
return false;
}
}
/// <summary>
/// 將消息寫入文件
/// </summary>
/// <param name="message">需要寫入的內容</param>
public static bool WriteMessage(string message)
{
//ex = null 返回
DateTime dt = DateTime.Now; // 設置日志時間
string time = dt.ToString("yyyy-MM-dd HH:mm:ss"); //年-月-日 時:分:秒
string logName = dt.ToString("yyyy-MM-dd"); //日志名稱
string logPath = System.AppDomain.CurrentDomain.BaseDirectory; //日志存放路徑
// System.Console.WriteLine(logPath);
string log = Path.Combine(Path.Combine(logPath, "log"), string.Format("{0}.log", logName)); //路徑 + 名稱
try
{
FileInfo info = new FileInfo(log);
if (info.Directory != null && !info.Directory.Exists)
{
info.Directory.Create();
}
using (StreamWriter write = new StreamWriter(log, true, Encoding.GetEncoding("utf-8")))
{
write.WriteLine(time);
write.WriteLine("信息:" + message);
write.WriteLine("\r\n----------------------------------\r\n");
write.Flush();
write.Close();
write.Dispose();
}
return true;
}
catch (Exception e)
{
WriteErorrLog("WriteMessageException", e);
return false;
}
}
}
作者:艾孜爾江