對於乙個完整的程式系統,乙個日誌記錄是必不可少的。可以用它來記錄程式在執行過程中的執行狀態和報錯資訊。比如,那些不想通過彈框提示的錯誤,程式執行過程中捕獲的異常等。
首先,在你的解決方案中,適當的目錄中新建乙個類,比如 logmanager:
編寫如下**:
///
/// 日誌管理
///
public class logmanager
// 私有建構函式(必備函式,不允許外部對該類進行例項化)
private logmanager()
///
/// 屬性獲取單例物件
///
public static logmanager loginstance
}/// &www.cppcns.comlt;summary>
/// 寫入一條日誌記錄
///
/// 日誌記錄內容
public void writelog(string plog)
\\log.log",_logdir,vdt.year,vdt.month,vdt.day);
// 建立檔案流,用於寫入
using (filestream fs = new filestream(vlogfile, filemode.append))
>> ", vdt.tostring("yyyy-mm-dd hh:mm:ss"),www.cppcns.com plog);
sw.flush();
sw.close();
fs.close();}}
}// 刪除過期檔案
private void deloldfile()
var vfiles = (new directoryinfo(this._logdir)).getfiles();
for (int i = vfiles.length - 1; i >= 0; i--)
} }}
} // end class
其中,第8行-第26行是關於實現單例模式的一種方法。這樣,在你程式的需要位置執行:
logmanager.loginstance.writelog("產生了一條日誌記錄");
就會在指定檔案中引數一條日誌記錄了。
即:2016-11-23 23:53:45 >> 產生了一條日誌記錄
本文標題: c#實現程式單例日誌輸出功能
本文位址:
WPF程式單例實現
大家肯定碰到過不少程式在乙個機器上只能啟動一次的吧 比如傲遊,windows media player等等 而在wpf應用程式如何實現這個功能呢?具體實現如下 在建立wpf應用程式後 1protected override void onstartup startupeventargs e 219 ...
c 單例實現
1.物件指標實現 class singleton unlock return m pinstance int getdata const private singleton m test 888 class cgarbo cgarbo static cgarbo m garbo static sin...
c 實現單例
單例巨集 單件定義巨集 在標頭檔案中申明 declare singleobj csampleclass 在cpp檔案中定義靜態變數 implement singleobj csampleclass 注意單件的getinstance為非執行緒安全,最好是在主線程初始化的時候呼叫一次 define de...