Como usar o ASP.NET ou chamar a API

Existem três maneiras de usar a biblioteca de cliente do Stackdriver Logging:

Opção 1: usar uma integração básica do ASP.NET

Google.Cloud.Diagnostics.AspNetCore é uma biblioteca que envia os registros padrão do ASP.NET para o Stackdriver Logging.

Para começar a geração de registros usando Google.Cloud.Diagnostics.AspNetCore, instale a biblioteca com um destes comandos:

Administrador de pacotes

PM> Install-Package Google.Cloud.Diagnostics.AspNetCore -Version 2.0.1

CLI do .NET

> dotnet add package Google.Cloud.Diagnostics.AspNetCore --version 2.0.1

Em seguida, edite o arquivo Startup.cs com as seguintes alterações:

  1. Adicione o seguinte usando instruções ao início de Startup.cs:

    using Google.Cloud.Diagnostics.AspNetCore;
    using Microsoft.Extensions.Logging;
    
  2. Modifique a função Configure. Adicione um ILoggerFactory loggerFactory e uma chamada para loggerFactory.AddGoogle("YOUR-PROJECT-ID"):

    public void Configure(IApplicationBuilder app, IHostingEnvironment env,
        ILoggerFactory loggerFactory)
    {
        // Log to Google.
        loggerFactory.AddGoogle("YOUR-PROJECT-ID");
    
  3. Compile e execute o código no Visual Studio. Consulte as entradas de registro no Visualizador de registros do Stackdriver Logging no recurso Global.

    Acessar o Visualizador de registros

Opção 2: usar uma integração do Log4Net

Log4Net é uma biblioteca Apache que permite a emissão de log statements para uma variedade de destinos de saída.

Para começar a geração de registros usando a integração do Log4Net, instale a biblioteca Google.Cloud.Logging.Log4Net com este comando:

    PM> Install-Package Google.Cloud.Logging.Log4Net -Version 2.2.1

Em seguida, faça o seguinte:

  1. Adicione uma seção de configuração XML do Log4Net ao arquivo Web.config do aplicativo da Web contendo o seguinte código:

    <configuration>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
      </configSections>
      <log4net>
        <appender name="CloudLogger" type="Google.Cloud.Logging.Log4Net.GoogleStackdriverAppender,Google.Cloud.Logging.Log4Net">
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%-4timestamp [%thread] %-5level %logger %ndc - %message" />
          </layout>
          <projectId value="YOUR-PROJECT-ID" />
          <logId value="mySampleLog" />
        </appender>
        <root>
          <level value="ALL" />
          <appender-ref ref="CloudLogger" />
        </root>
      </log4net>
  2. Adicione a seguinte linha de código ao arquivo Global.asax.cs do aplicativo para configurar o Log4net e usar o Stackdriver Logging:

    log4net.Config.XmlConfigurator.Configure();
    

    Depois de adicionar a linha anterior ao código, altere o método Application_Start() em Global.asax.cs para o seguinte:

            protected void Application_Start()
            {
                GlobalConfiguration.Configure(WebApiConfig.Register);
    
                // Configure log4net to use Stackdriver logging from the XML configuration file.
                log4net.Config.XmlConfigurator.Configure();
            }
    
  3. Para usar o log4net no código do aplicativo, adicione a seguinte instrução para incluir a biblioteca de cliente:

    using log4net;
    
  4. Adicione o código a seguir ao aplicativo para gravar registros que aparecerão no Visualizador de registros do Stackdriver no recurso Global. O nome do registro é especificado no arquivo Web.config:

                        // Retrieve a logger for this context.
                        ILog log = LogManager.GetLogger(typeof(WebApiConfig));
    
                        // Log some information to Google Stackdriver Logging.
                        log.Info("Hello World.");
    
  5. Compile e execute o código no Visual Studio. Consulte as entradas de registro no Visualizador de registros do Stackdriver Logging no recurso Global.

    Acessar o Visualizador de registros

Opção 3: gravar registros personalizados usando a API Stackdriver Logging

Também é possível gravar registros personalizados chamando diretamente a API Stackdriver Logging.

Para começar a geração de registros usando Google.Cloud.Logging.V2, instale a biblioteca com um destes comandos:

Administrador de pacotes

PM> Install-Package Google.Cloud.Logging.V2 -Version 2.2.0

CLI do .NET

> dotnet add package Google.Cloud.Logging.V2 --version 2.2.0

Depois que o cliente do Stackdriver Logging estiver instalado, será possível começar a enviar os registros do aplicativo para o Stackdriver Logging adicionando as seguintes instruções ao código do aplicativo:

using Google.Cloud.Logging.V2;
using Google.Cloud.Logging.Type;
using Google.Cloud.Api;

Personalize o seguinte método e o adicione ao código do aplicativo:

private void WriteLogEntry(string logId, string message)
{
    var client = LoggingServiceV2Client.Create();
    LogName logName = new LogName(s_projectId, logId);
    LogEntry logEntry = new LogEntry
    {
        LogName = logName.ToString(),
        Severity = LogSeverity.Info,
        TextPayload = $"{typeof(LoggingSample).FullName} - {message}"
    };
    MonitoredResource resource = new MonitoredResource { Type = "global" };
    IDictionary<string, string> entryLabels = new Dictionary<string, string>
    {
        { "size", "large" },
        { "color", "red" }
    };
    client.WriteLogEntries(LogNameOneof.From(logName), resource, entryLabels,
        new[] { logEntry }, _retryAWhile);
    Console.WriteLine($"Created log entry in log-id: {logId}.");
}

Escreva algum código de geração de registros que chame WriteLogEntry(). A entrada de registro resultante estará no Visualizador de Registros sob o recurso Global:

Acessar o Visualizador de registros

Para saber detalhes sobre o Visualizador de registros, consulte Como visualizar registros.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Stackdriver Logging
Precisa de ajuda? Acesse nossa página de suporte.