FileLogTraceListener 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供簡單的接聽程式,將記錄輸出導向到檔案。
public ref class FileLogTraceListener : System::Diagnostics::TraceListener
[System.Runtime.InteropServices.ComVisible(false)]
public class FileLogTraceListener : System.Diagnostics.TraceListener
[<System.Runtime.InteropServices.ComVisible(false)>]
type FileLogTraceListener = class
inherit TraceListener
Public Class FileLogTraceListener
Inherits TraceListener
- 繼承
- 屬性
備註
類別 FileLogTraceListener 會提供自動化維護功能,視需要每天或每一應用程式封存記錄檔。 此自動封存功能有助於減少開發人員和系統管理員的維護責任。
的實例FileLogTraceListener可以新增至 或 Trace.Listeners 集合,Debug.Listeners以將記錄輸出重新導向至文本檔。 您也可以將這個類別的實體新增至 My.Application.Log
My.Log
Visual Basic 應用程式中的 Web 應用程式) 或 (。 如需詳細資訊,請參閱 逐步解說:變更 My.Application.Log 寫入資訊的位置。
此類別的主要功能包括:
封存功能。 這個類別所產生的記錄檔會根據基底名稱和日期命名,以及用來區分記錄檔與後續記錄版本的數位。 系統會視需要建立新的記錄檔。
檔名的明確格式為
baseName
[-dateStamp
][-][-version
].log,其中:元件
baseName
是 屬性所 BaseFileName 指定的基本記錄名稱。元件
dateStamp
的格式為 「YYYY-MM-DD」,當 為 Daily 或 Weekly時LogFileCreationSchedule會顯示。如果相同
baseName
和dateStamp
需要多個記錄檔,則version
元件會將正Integer
數新增至檔名。
多個類別實例。 如果 類別的 FileLogTraceListener 實例寫入正在使用中的檔案:
類別會在同一個進程中的另一個 類別實例 FileLogTraceListener 使用它時共用檔案。
如果另一個進程正在使用檔案,類別會使用下一個可用的名稱來建立新的記錄檔。
線程安全。 類別 FileLogTraceListener 是安全線程。 這可讓您安全地將訊息寫入多個線程的記錄檔,而不使用鎖定。
記錄檔位置
屬性 Location 會接受 LogFileLocation 列舉,以指定要寫入記錄檔的其中一個一般目錄。
若要將記錄寫入另一個位置,請將 CustomLocation 屬性設定為該位置。
記錄檔名稱
記錄檔的基底名稱是由 屬性指定 BaseFileName 。
您可以從屬性讀取 FullLogFileName 目前的記錄檔名稱。 它衍生自數個其他屬性,以及文件系統中記錄的目前狀態。
記錄維護
建立新記錄檔的最小頻率取決於 LogFileCreationSchedule 屬性。 當值為 Daily 或 Weekly時,會每天或每周至少建立一次新的記錄檔,並將日期戳記併入 FullLogFileName 名稱中。
記錄檔) 位元組的大小上限 (取決於 MaxFileSize 屬性。 如果記錄檔大小超過此大小,則會捨棄寫入記錄的其他訊息,而且根據 DiskSpaceExhaustedBehavior 屬性擲回例外狀況。
屬性 ReserveDiskSpace 會決定必須使用位元組) (多少可用空間。 這有助於確保 FileLogTraceListener 類別不會耗用所有可用的磁碟空間。 DiskSpaceExhaustedBehavior使用屬性可指定可用位元組少於ReserveDiskSpace位元組時的記錄寫入行為。
記錄檔輸出設定
屬性 AutoFlush 會指定在每次寫入記錄檔之後,是否應該自動排清基礎數據流。
Append屬性會指定是否要將訊息附加至目前的記錄檔,如果允許,或將它們寫入新的記錄檔。
屬性 Delimiter 會指定要用來分隔記錄訊息內欄位的字串。
屬性 Encoding 會指定建立新記錄檔時要使用的編碼方式。
記錄檔輸出
TraceData和 TraceEvent 方法會將訊息寫入記錄檔。 這些方法會檢查 LogFileCreationSchedule 屬性,以及具有相同基底名稱的任何現有記錄,以判斷是否應該建立新的記錄。
方法會將 Flush 目前輸出緩衝區中的任何訊息排清至記錄檔。
方法 Close 會關閉記錄檔,使其可供其他進程使用。
啟用輸出
您必須啟用追蹤或偵錯,才能使用追蹤接聽程式。 下列語法是編譯程式特有的。 如果您使用 C# 或 Visual Basic 以外的編譯程式,請參閱編譯程式的檔。
若要在 C# 中啟用偵錯,請在編譯程式程式代碼時,將旗標新增
/d:DEBUG
至編譯程式命令行,或者您可以新增#define DEBUG
至檔案頂端。 在 Visual Basic 中,將/d:DEBUG=True
旗標新增至編譯程式命令行。若要在 C# 中啟用追蹤,請在編譯程式程式程式代碼時,將旗標新增
/d:TRACE
至編譯程式命令行,或新增#define TRACE
至檔案頂端。 在 Visual Basic 中,將/d:TRACE=True
旗標新增至編譯程式命令行。
在 .NET Framework 應用程式中,您可以編輯應用程式的組態檔來設定接聽程式的層級。 在此檔案中,您可以新增接聽程式、設定其類型並設定其參數、移除接聽程式,或清除應用程式先前設定的所有接聽程式。 組態檔的格式應該如下列範例所示。
<configuration>
<system.diagnostics>
<sharedListeners>
<add name="FileLog"
type="Microsoft.VisualBasic.Logging.FileLogTraceListener,
Microsoft.VisualBasic, Version=8.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a,
processorArchitecture=MSIL"
initializeData="FileLogWriter"/>
</sharedListeners>
</system.diagnostics>
</configuration>
若要執行此範例,您必須提供完整元件名稱。 如需如何取得完整元件名稱的詳細資訊,請參閱 元件名稱。
建構函式
FileLogTraceListener() |
使用預設的名稱,初始化 FileLogTraceListener 類別的新執行個體。 |
FileLogTraceListener(String) |
使用提供的名稱,初始化 FileLogTraceListener 類別的新執行個體。 |
屬性
Append |
判斷要將輸出附加至目前的檔案,或將它寫入新檔案或現有的檔案。 |
Attributes |
取得在應用程式組態檔中定義的自訂追蹤接聽程式屬性。 (繼承來源 TraceListener) |
AutoFlush |
指出對記錄檔資料流的寫入過程是否會清除緩衝區。 |
BaseFileName |
取得或設定記錄檔的主檔名,該名稱是用來建立完整的記錄檔名稱。 |
CustomLocation | |
Delimiter |
取得或設定用來分隔記錄訊息內欄位的分隔符號 (Delimiter)。 |
DiskSpaceExhaustedBehavior |
決定當寫入記錄檔而可用的磁碟空間少於 ReserveDiskSpace 屬性所指定的空間時,所要執行的動作。 |
Encoding |
取得或設定要在建立新記錄檔時使用的編碼方式。 |
Filter |
取得或設定追蹤接聽程式的追蹤篩選。 (繼承來源 TraceListener) |
FullLogFileName |
取得目前的完整記錄檔名稱。 |
IncludeHostName |
指出記錄電腦的主機名稱是否應該包含在輸出中。 |
IndentLevel |
取得或設定縮排層級。 (繼承來源 TraceListener) |
IndentSize |
取得或設定縮排的空格數目。 (繼承來源 TraceListener) |
IsThreadSafe |
取得值,指出追蹤接聽程式是否為安全執行緒。 (繼承來源 TraceListener) |
Location |
取得或設定記錄檔的位置。 |
LogFileCreationSchedule |
決定要包含在記錄檔名稱中的日期。 |
MaxFileSize |
取得或設定允許的記錄檔大小最大值 (以位元組為單位)。 |
Name |
取得或設定這個 TraceListener 的名稱。 (繼承來源 TraceListener) |
NeedIndent |
取得或設定值,指出是否要縮排輸出。 (繼承來源 TraceListener) |
ReserveDiskSpace |
取得或設定將訊息寫入記錄檔前所需的可用磁碟空間總數 (以位元組為單位)。 |
TraceOutputOptions |
取得或設定追蹤輸出選項。 (繼承來源 TraceListener) |