Udostępnij za pośrednictwem


FileLogTraceListener Klasa

Definicja

Udostępnia prosty odbiornik, który kieruje dane wyjściowe rejestrowania do pliku.

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
Dziedziczenie
FileLogTraceListener
Atrybuty

Uwagi

Klasa FileLogTraceListener zapewnia funkcje automatycznej konserwacji, aby archiwizować pliki dziennika zgodnie z potrzebami, codziennie lub dla aplikacji. Ta automatyczna funkcja archiwizacji pomaga zmniejszyć obowiązki związane z konserwacją deweloperów i administratorów.

Do kolekcji lub Trace.Listeners można dodać Debug.Listeners wystąpienieFileLogTraceListener, aby przekierować dane wyjściowe z rejestrowania do pliku tekstowego. Wystąpienia tej klasy można również dodać do My.Application.Log aplikacji języka Visual Basic lub My.Log (dla aplikacji internetowych). Aby uzyskać więcej informacji, zobacz Przewodnik: zmienianie miejsca, w którym my.Application.Log zapisuje informacje.

Główne funkcje tej klasy to:

  1. Funkcje archiwizacji. Pliki dziennika generowane przez tę klasę są nazwane zgodnie z nazwą bazową i datą wraz z liczbą, aby odróżnić plik dziennika od kolejnych wersji dziennika. Nowe pliki dziennika są tworzone zgodnie z potrzebami.

    Jawną formą nazwy pliku jest baseName[-dateStamp][-version].log gdzie:

    • Część to podstawowa baseName nazwa dziennika określona BaseFileName przez właściwość .

    • Część dateStamp ma format "RRRR-MM-DD" i jest wyświetlany, gdy LogFileCreationSchedule jest lub DailyWeekly.

    • Jeśli potrzebny jest więcej niż jeden plik dziennika z tym samym baseName i dateStamp, version część, dodatnia Integer, zostanie dodana do nazwy pliku.

  2. Wiele wystąpień klas. Jeśli wystąpienie FileLogTraceListener klasy zapisuje w pliku, który jest używany:

    • Klasa współużytkuje plik, jeśli jest używany przez inne wystąpienie FileLogTraceListener klasy w tym samym procesie.

    • Klasa tworzy nowy plik dziennika przy użyciu następnej dostępnej nazwy, jeśli plik jest używany przez inny proces.

  3. Bezpieczeństwo wątków. Klasa FileLogTraceListener jest bezpieczna wątkiem. Dzięki temu można bezpiecznie zapisywać komunikaty w dzienniku z wielu wątków bez używania blokad.

Lokalizacja pliku dziennika

  • Właściwość Location przyjmuje LogFileLocation wyliczenie, aby określić jeden z typowych katalogów do zapisu pliku dziennika.

  • Aby zapisać dziennik w innej lokalizacji, ustaw CustomLocation właściwość na wartość tej lokalizacji.

Nazwa pliku dziennika

  • Nazwa podstawowa pliku dziennika jest określana przez BaseFileName właściwość .

  • Bieżąca nazwa pliku dziennika może być odczytywana z FullLogFileName właściwości . Pochodzi on z kilku innych właściwości i bieżącego stanu dzienników w systemie plików.

Konserwacja dziennika

  • Minimalna częstotliwość tworzenia nowych plików dziennika jest określana przez LogFileCreationSchedule właściwość . Gdy wartość to Daily lub Weekly, nowy plik dziennika jest tworzony co najmniej raz dziennie lub tydzień, a sygnatura daty jest dołączana do FullLogFileName nazwy.

  • Maksymalny rozmiar (w bajtach) pliku dziennika jest określany przez MaxFileSize właściwość . Jeśli rozmiar pliku dziennika przekracza ten rozmiar, dodatkowe komunikaty zapisywane w dzienniku są odrzucane i w zależności od DiskSpaceExhaustedBehavior właściwości zgłaszany jest wyjątek.

  • Właściwość ReserveDiskSpace określa ilość wolnego miejsca (w bajtach) musi być dostępna. Pomaga to zapewnić, że FileLogTraceListener klasa nie będzie korzystać ze wszystkich dostępnych miejsca na dysku. Użyj właściwości , DiskSpaceExhaustedBehavior aby określić zachowanie zapisów dziennika, gdy liczba bajtów jest mniejsza niż ReserveDiskSpace liczba bajtów.

Ustawienia danych wyjściowych pliku dziennika

  • Właściwość AutoFlush określa, czy podstawowy strumień powinien być opróżniany automatycznie po każdym zapisie w pliku dziennika.

  • Właściwość Append określa, czy należy dołączać komunikaty do bieżącego pliku dziennika, jeśli jest to dozwolone, czy zapisywać je w nowym pliku dziennika.

  • Właściwość Delimiter określa ciąg, który ma być używany do rozdzielania pól w komunikacie dziennika.

  • Właściwość Encoding określa kodowanie, które ma być używane podczas tworzenia nowego pliku dziennika.

Dane wyjściowe pliku dziennika

  • Metody TraceData i TraceEvent zapisują komunikaty do pliku dziennika. Te metody sprawdzają LogFileCreationSchedule właściwość wraz z istniejącymi dziennikami o tej samej nazwie podstawowej, aby określić, czy ma zostać utworzony nowy dziennik.

  • Metoda Flush opróżnia wszystkie komunikaty aktualnie w buforze wyjściowym do pliku dziennika.

  • Metoda Close zamyka plik dziennika, aby mógł być używany przez inne procesy.

Włączanie danych wyjściowych

Aby używać odbiornika śledzenia, należy włączyć śledzenie lub debugowanie. Następująca składnia jest specyficzna dla kompilatora. Jeśli używasz kompilatorów innych niż C# lub Visual Basic, zapoznaj się z dokumentacją kompilatora.

  • Aby włączyć debugowanie w języku C#, dodaj flagę /d:DEBUG do wiersza polecenia kompilatora podczas kompilowania kodu lub możesz dodać #define DEBUG ją na początku pliku. W języku Visual Basic dodaj flagę /d:DEBUG=True do wiersza polecenia kompilatora.

  • Aby włączyć śledzenie w języku C#, dodaj flagę /d:TRACE do wiersza polecenia kompilatora podczas kompilowania kodu lub dodaj #define TRACE ją na początku pliku. W języku Visual Basic dodaj flagę /d:TRACE=True do wiersza polecenia kompilatora.

W .NET Framework aplikacji można ustawić poziom odbiornika, edytując plik konfiguracji aplikacji. W tym pliku można dodać odbiornik, ustawić jego typ i ustawić jego parametry, usunąć odbiornik lub wyczyścić wszystkie odbiorniki ustawione wcześniej przez aplikację. Plik konfiguracji powinien być sformatowany tak jak w poniższym przykładzie.

<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>  

W tym przykładzie do uruchomienia należy podać w pełni kwalifikowaną nazwę zestawu. Aby uzyskać informacje na temat uzyskiwania w pełni kwalifikowanej nazwy zestawu, zobacz Nazwy zestawów.

Konstruktory

FileLogTraceListener()

Inicjuje FileLogTraceListener nowe wystąpienie klasy o nazwie domyślnej.

FileLogTraceListener(String)

Inicjuje FileLogTraceListener nowe wystąpienie klasy o podanej nazwie.

Właściwości

Append

Określa, czy należy dołączyć dane wyjściowe do bieżącego pliku, czy zapisać je w nowym lub istniejącym pliku.

Attributes

Pobiera niestandardowe atrybuty odbiornika śledzenia zdefiniowane w pliku konfiguracji aplikacji.

(Odziedziczone po TraceListener)
AutoFlush

Wskazuje, czy zapis do strumienia pliku dziennika opróżnia bufor.

BaseFileName

Pobiera lub ustawia podstawową nazwę plików dziennika, która służy do tworzenia pełnej nazwy pliku dziennika.

CustomLocation

Pobiera lub ustawia katalog plików dziennika, gdy właściwość jest ustawiona Location na Custom.

Delimiter

Pobiera lub ustawia ogranicznik używany do rozdzielania pól w komunikacie dziennika.

DiskSpaceExhaustedBehavior

Określa, co należy zrobić podczas zapisywania w pliku dziennika, a ilość wolnego miejsca na dysku jest mniejsza niż określona ReserveDiskSpace przez właściwość .

Encoding

Pobiera lub ustawia kodowanie do użycia podczas tworzenia nowego pliku dziennika.

Filter

Pobiera lub ustawia filtr śledzenia dla odbiornika śledzenia.

(Odziedziczone po TraceListener)
FullLogFileName

Pobiera bieżącą pełną nazwę pliku dziennika.

IncludeHostName

Wskazuje, czy nazwa hosta maszyny rejestrowania powinna być uwzględniona w danych wyjściowych.

IndentLevel

Pobiera lub ustawia poziom wcięcia.

(Odziedziczone po TraceListener)
IndentSize

Pobiera lub ustawia liczbę spacji w wcięcie.

(Odziedziczone po TraceListener)
IsThreadSafe

Pobiera wartość wskazującą, czy odbiornik śledzenia jest bezpieczny wątkiem.

(Odziedziczone po TraceListener)
Location

Pobiera lub ustawia lokalizację plików dziennika.

LogFileCreationSchedule

Określa datę dołączenia do nazw plików dziennika.

MaxFileSize

Pobiera lub ustawia maksymalny dozwolony rozmiar pliku dziennika w bajtach.

Name

Pobiera lub ustawia nazwę dla tego elementu TraceListener.

(Odziedziczone po TraceListener)
NeedIndent

Pobiera lub ustawia wartość wskazującą, czy należy wciąć dane wyjściowe.

(Odziedziczone po TraceListener)
ReserveDiskSpace

Pobiera lub ustawia ilość wolnego miejsca na dysku w bajtach, które są niezbędne, zanim komunikaty będą mogły być zapisywane w pliku dziennika.

TraceOutputOptions

Pobiera lub ustawia opcje danych wyjściowych śledzenia.

(Odziedziczone po TraceListener)

Metody

Close()

Zamyka źródłowy strumień bieżącego pliku dziennika i zwalnia wszystkie zasoby skojarzone z bieżącym strumieniem.

CreateObjRef(Type)

Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym.

(Odziedziczone po MarshalByRefObject)
Dispose()

Zwalnia wszelkie zasoby używane przez element TraceListener.

(Odziedziczone po TraceListener)
Dispose(Boolean)

Zamyka podstawowy strumień i opcjonalnie zwalnia zarządzane zasoby.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Fail(String)

Emituje komunikat o błędzie do odbiornika utworzonego podczas implementowania TraceListener klasy.

(Odziedziczone po TraceListener)
Fail(String, String)

Emituje komunikat o błędzie i szczegółowy komunikat o błędzie do odbiornika utworzonego podczas implementowania TraceListener klasy.

(Odziedziczone po TraceListener)
Flush()

Opróżnia źródłowy strumień zapisywany w bieżącym pliku dziennika.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetLifetimeService()
Przestarzałe.

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
GetSupportedAttributes()

Pobiera niestandardowe atrybuty konfiguracji XML obsługiwane przez odbiornik śledzenia.

GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
InitializeLifetimeService()
Przestarzałe.

Uzyskuje obiekt usługi okresu istnienia, aby kontrolować zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu.

(Odziedziczone po MarshalByRefObject)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object)

Zapisuje informacje dotyczące śledzenia, obiektu danych i informacji o zdarzeniach do pliku wyjściowego lub strumienia.

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

Zapisuje informacje śledzenia, tablicę obiektów danych i informacje o zdarzeniach do pliku wyjściowego lub strumienia.

TraceEvent(TraceEventCache, String, TraceEventType, Int32)

Zapisuje informacje dotyczące śledzenia i zdarzeń do danych wyjściowych specyficznych dla odbiornika.

(Odziedziczone po TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

Zapisuje informacje śledzenia, komunikat i informacje o zdarzeniu do pliku wyjściowego lub strumienia.

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

Zapisuje informacje śledzenia, sformatowaną tablicę obiektów i informacje o zdarzeniach do pliku wyjściowego lub strumienia.

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

Zapisuje informacje dotyczące śledzenia, komunikatu, powiązanej tożsamości działania i informacji o zdarzeniach do danych wyjściowych specyficznych dla odbiornika.

(Odziedziczone po TraceListener)
Write(Object)

Zapisuje wartość metody obiektu ToString() do odbiornika tworzonego podczas implementowania TraceListener klasy.

(Odziedziczone po TraceListener)
Write(Object, String)

Zapisuje nazwę kategorii i wartość metody obiektu ToString() do odbiornika tworzonego podczas implementowania TraceListener klasy.

(Odziedziczone po TraceListener)
Write(String)

Zapisuje komunikat dosłowny na dysku bez żadnych dodatkowych informacji kontekstowych.

Write(String, String)

Zapisuje nazwę kategorii i komunikat do odbiornika tworzonego podczas implementowania TraceListener klasy.

(Odziedziczone po TraceListener)
WriteIndent()

Zapisuje wcięcie do odbiornika utworzonego podczas implementowania tej klasy i resetuje NeedIndent właściwość do false.

(Odziedziczone po TraceListener)
WriteLine(Object)

Zapisuje wartość metody obiektu ToString() do odbiornika tworzonego podczas implementowania TraceListener klasy, po której następuje terminator wiersza.

(Odziedziczone po TraceListener)
WriteLine(Object, String)

Zapisuje nazwę kategorii i wartość metody obiektu ToString() do odbiornika tworzonego podczas implementowania TraceListener klasy, po której następuje terminator wiersza.

(Odziedziczone po TraceListener)
WriteLine(String)

Zapisuje komunikat dosłowny na dysku, po którym następuje bieżący terminator wiersza bez dodatkowych informacji kontekstowych.

WriteLine(String, String)

Zapisuje nazwę kategorii i komunikat do odbiornika utworzonego podczas implementowania TraceListener klasy, po którym następuje terminator wiersza.

(Odziedziczone po TraceListener)

Dotyczy

Zobacz też