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] 程式結束...

你可以隨時改動 pathname 兩個屬性來儲存文字記錄的位置或檔案名稱

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

  1. 如果你需要在 Log 檔無法寫入強破紀錄訊息,可以開啟 Force Log 的功能
  2. 如果你需要關閉所有 ZapLib 的內建 log,可以開啟 Silent Mode 的功能
  3. 如果你沒有以上需求,可以無需做任何修改,直接更新

results matching ""

    No results matching ""