Usa ASP.NET o llama a la API

Existen tres formas de usar la biblioteca cliente de Cloud Logging:

Opción 1: Mediante una integración de núcleo ASP.NET

Google.Cloud.Diagnostics.AspNetCore es una biblioteca que envía tus registros estándar de ASP.NET a Cloud Logging.

Para comenzar a realizar registros con Google.Cloud.Diagnostics.AspNetCore, instala la biblioteca mediante uno de estos comandos:

Administrador de paquetes

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

CLI de .NET

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

Luego, edita tu archivo Startup.cs con los siguientes cambios:

  1. Agrega las instrucciones a continuación con declaraciones a la parte superior de Startup.cs:

    
        using Google.Cloud.Diagnostics.AspNetCore;
        using Microsoft.Extensions.Logging;
    
  2. Modifica la función Configure. Agrega un ILoggerFactory loggerFactory y una llamada a loggerFactory.AddGoogle("YOUR-PROJECT-ID"):

    public void Configure(IApplicationBuilder app, IHostingEnvironment env,
            ILoggerFactory loggerFactory)
        {
            // Log to Google.
            loggerFactory.AddGoogle(app.ApplicationServices, "YOUR-PROJECT-ID");
    
  3. Compila y ejecuta tu código en Visual Studio. Consulta las entradas de registro en el visor de registros de Cloud Logging en el recurso Global.

    Ir al visor de registros

Opción 2: Mediante una integración de Log4Net

Log4Net es una biblioteca de Apache que te permite enviar instrucciones de registro a diferentes destinos de salida.

Para iniciar el registro con la integración de Log4Net, instala la biblioteca Google.Cloud.Logging.Log4Net con este comando:

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

A continuación, sigue estos pasos:

  1. Agrega una sección de configuración XML de Log4Net al archivo Web.config de tu aplicación web que contenga el siguiente 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. Agrega la siguiente línea de código al archivo Global.asax.cs de tu aplicación para configurar Log4net de modo que use Logging:

    log4net.Config.XmlConfigurator.Configure();
        

    Después de agregar la línea anterior a tu código, cambia el método Application_Start() en Global.asax.cs por lo siguiente:

            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 utilizar Log4net en el código de tu aplicación, agrega la siguiente declaración para incluir la biblioteca cliente:

    using log4net;
        
  4. Agrega el siguiente código a tu aplicación para escribir los registros que aparecerán en el visor de registros del paquete de operaciones de Google Cloud en el recurso Global. El nombre del registro se especifica en el archivo 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. Compila y ejecuta tu código en Visual Studio. Visualiza las entradas de registro en el visor de registros de Logging en el recurso Global.

    Ir al visor de registros

Opción 3: Mediante la escritura de registros personalizados con la API de Logging

También puedes escribir registros personalizados llamando directamente a la API de Cloud Logging.

Para comenzar a realizar registros con Google.Cloud.Logging.V2, instala la biblioteca con uno de estos comandos:

Administrador de paquetes

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

CLI de .NET

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

Una vez instalado el cliente de Logging, puedes comenzar a enviar los registros de tu aplicación a Logging; para eso, agrega las siguientes instrucciones al código de tu aplicación:

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

Personaliza el siguiente método y agrégalo al código de tu aplicación:

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}.");
    }

Escribe un código de registro que llame a WriteLogEntry(). La entrada de registro que se genere como resultado estará en el visor de registros en el recurso Global:

Ir al visor de registros

Para obtener detalles sobre el visor de registros, consulta Visualiza los registros.