c# 日誌 打印類

 /// <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();
            //}
        }
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章