How to: Use the Activity Log


This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, use the version selector at the top left. We recommend upgrading to Visual Studio 2019. Download it here

VSPackages can write messages to the activity log. This feature is especially useful for debugging VSPackages in retail environments.


The activity log is always turned on. Visual Studio keeps a rolling buffer of the last one hundred entries as well as the first ten entries, which have general configuration information.

To write an entry to the activity log

  1. Insert this code in the Initialize method or in any other method except the VSPackage constructor:

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

    This code gets the SVsActivityLog service and casts it to an IVsActivityLog interface. LogEntry writes an informational entry into the activity log using the current cultural context.

  2. When the VSPackage is loaded (usually when a command is invoked or a window is opened), the text is written to the activity log.

To examine the activity log

  1. Find the activity log in the subfolder for Visual Studio data: %AppData%\Microsoft\VisualStudio\14.0\ActivityLog.XML..

  2. Open the activity log with any text editor. Here is a typical entry:

    Called for: Company.MyApp.MyAppPackage ...  

Robust Programming

Because the activity log is a service, the activity log is unavailable in the VSPackage constructor.

You should obtain the activity log just before writing to it. Do not cache or save the activity log for future use.

See Also

Troubleshooting VSPackages