/// <summary>
/// 打印類
/// </summary>
class TextShowClass
{
#region 文本框操作
#endregion
public static void Log(string message)
{
try
{ //獲取啓動了應用程序的可執行文件的路徑
string path6 = System.Windows.Forms.Application.StartupPath;
string logFileName = path6 + DateTime.Now.ToString("yyyy-MM-dd") + ".log";
using (TextWriter logFile = TextWriter.Synchronized(File.AppendText(logFileName)))
{
logFile.WriteLine("\r\n");
logFile.WriteLine(DateTime.Now);
logFile.WriteLine(message);
logFile.Flush();
logFile.Close();
}
}
catch (System.Exception ex)
{
throw ex;
}
}
}
多線程 配置文件使用
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace JavaBackground
{
/// <summary>
/// 打印類
/// </summary>
class TextShowClass
{
#region 文本框操作
public static object objlock = new object();
#endregion
// private Object obj = new Object();
public static void Log(string message)
{
try
{
if (Frm_Main.Journal)//配置文件開啓
{
lock (objlock) //加鎖 多線成使用
{
//訂單支付,消息通知等耗時的操作
//獲取啓動了應用程序的可執行文件的路徑
string path6 = System.Windows.Forms.Application.StartupPath;
string logFileName = path6 + DateTime.Now.ToString("yyyy-MM-dd") + ".log";
using (TextWriter logFile = TextWriter.Synchronized(File.AppendText(logFileName)))
{
logFile.WriteLine("\r\n");
logFile.WriteLine(DateTime.Now);
logFile.WriteLine(message);
logFile.Flush();
logFile.Close();
}
}
}
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
//finally
//{
// //退出寫入模式,釋放資源佔用
// //注意:一次請求對應一次釋放
// //若釋放次數大於請求次數將會觸發異常[寫入鎖定未經保持即被釋放]
// //若請求處理完成後未釋放將會觸發異常[此模式不下允許以遞歸方式獲取寫入鎖定]
// //Frm_Main. LogWriteLock.ExitWriteLock();
//}
}
}
}