Compartilhar via


Como: usar o Log de atividade

Os VSPackages pode gravar mensagens no log de atividade. Esse recurso é especialmente útil para depuração VSPackages em ambientes de varejo.

Dica

O log de atividade está sempre ativado.Visual Studio mantém um buffer sem interrupção de entradas a última cem assim como as entradas de dez primeiros, que tem informações de configuração geral.

Para gravar uma entrada no log de atividade

  1. Inserir esse código na Initialize método ou em qualquer outro método, exceto o construtor VSPackage:

    Dim log As IVsActivityLog
    log = GetService(GetType(SVsActivityLog))
    If log Is Nothing Then 
        Return 
    End If 
    
    Dim hr As Integer
    hr = log.LogEntry(CType(__ACTIVITYLOG_ENTRYTYPE.ALE_INFORMATION, UInt32),
        Me.ToString(),
        String.Format(CultureInfo.CurrentCulture,
        "Entering initializer for: {0}", Me.ToString()))
    
    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,
        "Entering initializer for: {0}", this.ToString()));
    

    Esse código obtém o SVsActivityLog de serviço e projeta-o para um IVsActivityLog interface. LogEntrygrava uma entrada informativa no registro de atividades usando o contexto cultural atual.

  2. Carregar o VSPackage.

Para examinar o log de atividade

  1. Encontre o registro de atividades na subpasta para dados de Visual Studio.

    Por exemplo, % AppData %\Microsoft\VisualStudio\10.0\ActivityLog.XML.

  2. Abra o registro de atividades com qualquer editor de texto.

    A seguir é uma entrada típica:

    50  Entering initializer for: Company.MyApp.MyAppPackage ...
    

Programação robusta

Como o registro de atividades é um serviço, o log de atividade está indisponível no construtor VSPackage.

Você deve obter o registro de atividades antes de gravar. Não armazenar em cache ou salvar o log de atividade para uso futuro.

Consulte também

Tarefas

Como: solucionar VSPackages

Referência

IVsActivityLog

__ACTIVITYLOG_ENTRYTYPE

Outros recursos

VSPackages