FileLogTraceListener 類別

定義

提供簡單的接聽程式,將記錄輸出導向到檔案。

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 會提供自動化維護功能,視需要每天或每一應用程式封存記錄檔。 此自動封存功能有助於減少開發人員和系統管理員的維護責任。

的實例FileLogTraceListener可以新增至 或 Trace.Listeners 集合,Debug.Listeners以將記錄輸出重新導向至文本檔。 您也可以將這個類別的實體新增至 My.Application.LogMy.Log Visual Basic 應用程式中的 Web 應用程式) 或 (。 如需詳細資訊,請參閱 逐步解說:變更 My.Application.Log 寫入資訊的位置

此類別的主要功能包括:

  1. 封存功能。 這個類別所產生的記錄檔會根據基底名稱和日期命名,以及用來區分記錄檔與後續記錄版本的數位。 系統會視需要建立新的記錄檔。

    檔名的明確格式為 baseName[-dateStamp][-][-version].log,其中:

    • 元件 baseName 是 屬性所 BaseFileName 指定的基本記錄名稱。

    • 元件dateStamp的格式為 「YYYY-MM-DD」,當 為 DailyWeeklyLogFileCreationSchedule會顯示。

    • 如果相同 baseNamedateStamp需要多個記錄檔,則 version 元件會將正 Integer數新增至檔名。

  2. 多個類別實例。 如果 類別的 FileLogTraceListener 實例寫入正在使用中的檔案:

    • 類別會在同一個進程中的另一個 類別實例 FileLogTraceListener 使用它時共用檔案。

    • 如果另一個進程正在使用檔案,類別會使用下一個可用的名稱來建立新的記錄檔。

  3. 線程安全。 類別 FileLogTraceListener 是安全線程。 這可讓您安全地將訊息寫入多個線程的記錄檔,而不使用鎖定。

記錄檔位置

  • 屬性 Location 會接受 LogFileLocation 列舉,以指定要寫入記錄檔的其中一個一般目錄。

  • 若要將記錄寫入另一個位置,請將 CustomLocation 屬性設定為該位置。

記錄檔名稱

  • 記錄檔的基底名稱是由 屬性指定 BaseFileName

  • 您可以從屬性讀取 FullLogFileName 目前的記錄檔名稱。 它衍生自數個其他屬性,以及文件系統中記錄的目前狀態。

記錄維護

記錄檔輸出設定

  • 屬性 AutoFlush 會指定在每次寫入記錄檔之後,是否應該自動排清基礎數據流。

  • Append屬性會指定是否要將訊息附加至目前的記錄檔,如果允許,或將它們寫入新的記錄檔。

  • 屬性 Delimiter 會指定要用來分隔記錄訊息內欄位的字串。

  • 屬性 Encoding 會指定建立新記錄檔時要使用的編碼方式。

記錄檔輸出

  • TraceDataTraceEvent 方法會將訊息寫入記錄檔。 這些方法會檢查 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

Location 屬性設定為 Custom 時,取得或設定記錄檔目錄。

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)

方法

Close()

關閉目前記錄檔的基礎資料流,並釋放與目前資料流關聯的任何資源。

CreateObjRef(Type)

建立包含所有相關資訊的物件,這些資訊是產生用來與遠端物件通訊的所需 Proxy。

(繼承來源 MarshalByRefObject)
Dispose()

釋放 TraceListener 所使用的所有資源。

(繼承來源 TraceListener)
Dispose(Boolean)

關閉基礎資料流,並選擇性地釋放 Managed 資源。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
Fail(String)

當您實作 TraceListener 類別時,發出錯誤訊息給您建立的接聽程式。

(繼承來源 TraceListener)
Fail(String, String)

當您實做 TraceListener 類別時,發出錯誤訊息和詳細的錯誤訊息給您建立的接聽程式。

(繼承來源 TraceListener)
Flush()

清除寫入目前記錄檔的基礎資料流。

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetLifetimeService()
已淘汰.

擷取控制這個執行個體存留期 (Lifetime) 原則的目前存留期服務物件。

(繼承來源 MarshalByRefObject)
GetSupportedAttributes()

取得追蹤接聽項所支援的自訂 XML 組態屬性。

GetType()

取得目前執行個體的 Type

(繼承來源 Object)
InitializeLifetimeService()
已淘汰.

取得存留期服務物件,以控制這個執行個體的存留期原則。

(繼承來源 MarshalByRefObject)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
MemberwiseClone(Boolean)

建立目前 MarshalByRefObject 物件的淺層複本。

(繼承來源 MarshalByRefObject)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object)

寫入追蹤資訊、資料物件,及事件資訊至輸出檔或資料流。

TraceData(TraceEventCache, String, TraceEventType, Int32, Object[])

將追蹤資訊、資料物件的陣列及事件資訊寫入至輸出檔或資料流。

TraceEvent(TraceEventCache, String, TraceEventType, Int32)

寫入追蹤和事件資訊至特定接聽程式的輸出。

(繼承來源 TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

將追蹤資訊、訊息和事件資訊寫入至輸出檔或資料流。

TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[])

寫入追蹤資訊、格式化的物件陣列,及事件資訊至輸出檔或資料流。

TraceTransfer(TraceEventCache, String, Int32, String, Guid)

寫入追蹤資訊、訊息、相關活動身分識別與事件資訊至特定接聽程式的輸出。

(繼承來源 TraceListener)
Write(Object)

將物件的 ToString() 方法的值寫入當您實作 TraceListener 類別時所建立的接聽程式。

(繼承來源 TraceListener)
Write(Object, String)

將類別名稱和物件的 ToString() 方法的值寫入當您實作 TraceListener 類別時所建立的接聽程式。

(繼承來源 TraceListener)
Write(String)

將訊息逐字寫入磁碟,但不含任何其他內容資訊。

Write(String, String)

將分類名稱和訊息寫入當您實作 TraceListener 類別時所建立的接聽程式。

(繼承來源 TraceListener)
WriteIndent()

將縮排寫入當您實作這個類別時所建立的接聽程式,並且將 NeedIndent 屬性重設為 false

(繼承來源 TraceListener)
WriteLine(Object)

將物件的 ToString() 方法的值寫入當您實作 TraceListener 類別時所建立的接聽程式,後面跟隨著行結束字元。

(繼承來源 TraceListener)
WriteLine(Object, String)

將分類名稱和物件的 ToString() 方法的值寫入當您實作 TraceListener 類別時所建立的接聽程式,後面跟隨著行結束字元。

(繼承來源 TraceListener)
WriteLine(String)

將訊息逐字寫入磁碟,後面接著目前的行結束字元,但不含任何其他內容資訊。

WriteLine(String, String)

將分類名稱和訊息寫入當您實作 TraceListener 類別時所建立的接聽程式,後面跟隨著行結束字元。

(繼承來源 TraceListener)

適用於

另請參閱