MyLog API
MyLog API 提供一個高階的方法,將指定的資料記錄到純文字檔中記錄,並內建寫入時間以便於追蹤
MyLog 從
v1.22.0
開始,將會忽略因為 Log 檔案無法寫入的錯誤 (e.g. 多執行續共寫一個 Log 檔案),並且允許全局關閉 ZapLib 內建的 Log 訊息。
Super simple to use
以下示範寫入一段程式的錯誤訊息到文字檔中
示範:
try
{
int x = 0;
int i = 100 / x;
Console.WriteLine(i);
}
catch(Exception e)
{
MyLog log = new MyLog();
log.write(e.ToString());
}
文字檔輸出:
[16:49:36] System.DivideByZeroException: 嘗試以零除。
於 ZapLib.Tests.MyLogTests.write1() 於 D:\CSharp\ZapLib\ZapLibUnitTest\MyLogTests.cs: 行 41
注意事項:
- 文字檔會放置在 app.config 或 web.config 中設定的
Storage
目錄中,如果沒有設定將不會進行任何動作 - 文字檔預設會以
yyyyMMdd.txt
命名儲存,因此每天只會產生一個新的 Log 檔
Custom MyLog
以下示範如何自訂文字檔儲存位置與文字檔名稱,並寫入指定訊息
MyLog log = new MyLog();
log.path = @"D:\Log"; // 指定儲存目錄
log.name = "MyProcessLogFile"; // 指定紀錄檔案的名稱
log.write("程式開始...");
Thread.Sleep(3000);
log.write("程式結束...");
文字檔輸出:
[16:57:11] 程式開始...
[16:57:14] 程式結束...
你可以隨時改動
path
或name
兩個屬性來儲存文字記錄的位置或檔案名稱
Force Log
如果你仍需要在無法寫入 Log 檔案時,完整保留 Log 資訊,可以在 App.config
或是 Web.config
中添加 ForceLog
,ZapLib 將自動把資訊寫在另一個檔案中,它看起來像是這樣 原本 Log 檔名-0f8fad5b-d9cb-469f-a165-70867728950e.txt
,它會有助於你進行 debug 作業
<add key="ForceLog" value="True"/>
Silent Mode
如果你需要全局關閉 ZapLib 內建的 Log 訊息,可以在 App.config
或是 Web.config
中添加 SilentMode
,一旦設置了這個選項,ZapLib 將關閉所有內建的 Log 訊息,但您還是可以呼叫 MyLog
功能進行紀錄,不會有所影響。
<add key="SilentMode" value="True"/>
Note
- 如果你需要在 Log 檔無法寫入強破紀錄訊息,可以開啟 Force Log 的功能
- 如果你需要關閉所有 ZapLib 的內建 log,可以開啟 Silent Mode 的功能
- 如果你沒有以上需求,可以無需做任何修改,直接更新