Blog (215)
Komentarze (3.1k)
Recenzje (1)

Zapisywanie zdarzeń z wtyczki do Visual Studio w Activity Logu

Strona główna@djfoxerZapisywanie zdarzeń z wtyczki do Visual Studio w Activity Logu
23.05.2017 01:57

Dzisiejszy wpis odnośnie tworzenia wtyczki do Visual Studio będzie bardzo szybki i konkretny. W każdej aplikacji przychodzi moment na to, aby zalogować do pliku jakieś zdarzenie. Może być to notka o wyłapanym wyjątku, bądź też tylko zapis czysto informacyjny.

246783

Zapis w Activity Log

Dodatki do IDE od Microsoftu mogą zapisywać zdarzenia do Activity Loga. W celu umieszczenia własnego wpisu należy pobrać serwis o typie SVsActivityLog i rzutować go na interfejs IVsActivityLog:

bDUMIKgn
var log = serviceProvider.GetService(typeof(SVsActivityLog)) as IVsActivityLog;

/code

gdzie serviceProvider jest obiektem dziedziczącym po IServiceProvider (w naszym przypadku jest to obiekt klasy Package).

Logowanie odbywa się przy pomocy metody LogEntry:

bDUMIKgt
log.LogEntry((UInt32)__ACTIVITYLOG_ENTRYTYPE.ALE_ERROR, pluginName, message);

Pierwszy parametr określa poziom logowania - jest nim enumerator ACTIVITYLOGENTRYTYPE i posiada od trzy wartości: błąd (ALEERROR), ostrzeżenie (ALEWARNING) i informacja (ALEINFORMATION). Drugi parametr opisuje źródło logu, zaś trzeci parametr jest tekstowym opisem loga.

Aktywacja i przeglądanie logów

Logi składowane są przez IDE domyślnie w pliku ActivityLog.xml, który znajduje się w folderze %AppData%\Microsoft\VisualStudio\[NumerwersjiVS\. Pamiętać należy, że dopiero uruchomienie Visual Studio z przełącznikiem /log, aktywuje zapis do Activity Loga. Dodatkowo można zmienić miejsca zapisu, poprzez dodanie ścieżki: /log c:\users\user\desktop\activitylog.xml

246794

Jest to idealny sposób na analizę działania IDE w przypadku, gdy mamy problemy ze stabilnością Visual Studio. Zapis logów z własnej wtyczki pomoże na pewno w rozwiązaniu błędów u użytkowników końcowych. Wynikowy plik jest typu XML, który dodatkowo związany jest z plikiem ActivityLog.xsl, będącym zasobnikiem na szablon styli. ActivityLog powinien zostać automatycznie otworzony przez przeglądarkę IE lub inny domyślny program do podglądu plików XML.

246796
bDUMIKhj