W swojej podstawowej konfiguracji Intellitrace nie ma wielkiego wpływy na szybkość wykonywania aplikacji, jednak nie monitoruje ona wszystkich wywołań metod i zdarzeń. Jeżeli chcemy umożliwić nagrywanie wszystkich zdarzeń i wywołań metod możemy to zrobić w ustawieniach, zaznaczając opcję Intellitrace Events And Call Information
W ustawieniach zaawansowanych możemy zmienić ścieżkę zapisu logów jak i ich maksymalny rozmiar:
Wybór elementów, które mają być nagrywane, dokonujemy na zakładce IntelliTrace Events:
Podgląd zdarzeń nagranych przez IntelliTrace jest możliwe po zatrzymaniu aplikacji w trybie debugowania, lub też wczytania zapisanego plików logów.
PresentationTraceSources
PresentationTraceSources to statyczna klasa umożliwiająca tworzenie logów podczas działania aplikacji. Konfiguracja odbywa się na poziomie pliku App.config lub też w kodzie.
Działanie logowania opiera się na predefiniowanych źródłach, z których możemy logować informacje. Lista dostępnych źródeł:
- AnimationSource - System.Windows.Media.Animation
- DataBindingSource - System.Windows.Data
- DependencyPropertySource - System.Windows.DependencyProperty
- DocumentsSource - System.Windows.Documents
- FreezableSource - System.Windows.Freezable
- HwndHostSource - System.Windows.Interop
- MarkupSource - System.Windows.Markup
- NameScopeSource - System.Windows.NameScope
- ResourceDictionarySource - System.Windows.ResourceDictionary
- RoutedEventSource - System.Windows.RoutedEvent
- ShellSource - System.Windows.Shell
Konfiguracja w pliku App.config:
1. Do aplikacji dodajemy plik App.config.
2. W pliku, dodajemy gałąź <System.Diagnostics>
3. W dodanej gałęzi definiujemy źródła - Sources:
<source name="przestrzeń_nazw" switchName="nazwa_przełącznika" />
np:
<source name="System.Windows.Media.Animation" switchName="animateSwitch" />
4. Dodajemy przełącznik:
<switches>
<add name="nazwa_zdefiniowanego_przełącznika" value="poziom_logowania" />
</switches>
np:
<switches>
<add name="animateSwitch" value="All" />
</switches>
Poziomy które możemy użyć:
- Off - brak logowania
- Warning - tylko ostrzeżenia
- Activity - informacje o aktywności
- Verbose - szczegółowe logowanie
- All - logowanie wszystkiego
- konsola - System.Diagnostics.ConsoleTraceListener
- plik tekstowy - System.Diagnostics.TextWriterTraceListener
- XML - System.Diagnostics.XmlWriterTraceListener
<add name="console" type="System.Diagnostics.ConsoleTraceListener" initializeData="false"/>
</sharedListeners>
6. Ustawiamy właściwość autoflush na true:
<trace autoflush="true" ></trace>
7. Przypisujemy listenera do źródła:
<listeners>
<add name="console" />
</listeners>
Pełna, przykładowa konfiguracja:
Code:
Konfiguracja w kodzie:
Jeżeli chcemy skonfigurować logowanie w kodzie, musimy ustawić poziom logowania oraz dodać nasłuch:
Code:
Brak komentarzy:
Prześlij komentarz