Dela via


Använda aktivitetsloggen

VSPackages kan skriva meddelanden till aktivitetsloggen. Den här funktionen är särskilt användbar för felsökning av VSPackages i detaljhandelsmiljöer.

Tips/Råd

Aktivitetsloggen är alltid aktiverad. Visual Studio behåller en löpande buffert av de senaste 100 posterna samt de första 10 posterna, som har allmän konfigurationsinformation.

Skriva en post till aktivitetsloggen

  1. Infoga den här koden i metoden Initialisera eller i någon annan metod förutom VSPackage-konstruktorn:

    IVsActivityLog log = GetService(typeof(SVsActivityLog)) as IVsActivityLog;
    if (log == null) return;
    
    int hr = log.LogEntry((UInt32)__ACTIVITYLOG_ENTRYTYPE.ALE_INFORMATION,
        this.ToString(),
        string.Format(CultureInfo.CurrentCulture,
        "Called for: {0}", this.ToString()));
    

    Den här koden hämtar tjänsten SVsActivityLog och omvandlar den till ett IVsActivityLog-gränssnitt . LogEntry skriver ett informationsmeddelande i aktivitetsloggen med den aktuella kulturella kontexten.

  2. När VSPackage läses in (vanligtvis när ett kommando anropas eller ett fönster öppnas) skrivs texten till aktivitetsloggen.

Så här undersöker du aktivitetsloggen

  1. Kör Visual Studio med kommandoradsväxeln /Log för att skriva ActivityLog.xml till disk under sessionen.

  2. När du har stängt Visual Studio letar du reda på aktivitetsloggen i undermappen för Visual Studio-data:

    *%AppData%\Microsoft\VisualStudio\{version}\ActivityLog.xml

  3. Öppna aktivitetsloggen med valfri textredigerare. Här är en typisk post:

    Called for: Company.MyApp.MyAppPackage ...
    

Felsöka problem med import/export i redigeringstillägg: Komma åt MEF-kompositionsfelloggen

När du skriver ett redigeringsbaserat tillägg kan det uppstå problem om du försöker importera något som inte finns i den aktuella VS-installationen, eller om du felaktigt redigerar din import eller export. Det primära sättet att hitta och åtgärda dessa problem är att referera till mef-kompositionsfelloggen (Managed Extensibility Framework) som lagras på %localappdata%\Microsoft\VisualStudio{version}\ComponentModelCache\Microsoft.VisualStudio.Default.err. Mer information om hur du använder MEF i dina tillägg finns i den här dokumentationen.

Robust programmering

Eftersom aktivitetsloggen är en tjänst är aktivitetsloggen inte tillgänglig i VSPackage-konstruktorn.

Du bör hämta aktivitetsloggen precis innan du skriver till den. Cacha eller spara inte aktivitetsloggen vid framtida behov.