Usa ASP.NET o llama a la API

Existen tres maneras de utilizar la biblioteca cliente de Stackdriver Logging:

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

Google.Cloud.Diagnostics.AspNetCore es una biblioteca que envía los registros ASP.NET estándares a Stackdriver Logging.

Para comenzar a generar registros con Google.Cloud.Diagnostics.AspNetCore, instala la biblioteca con 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

A continuación, edita tu archivo Startup.cs con los siguientes cambios:

  1. Agrega el siguiente fragmento 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 agrega una llamada a loggerFactory.AddGoogle("YOUR-PROJECT-ID"):

    public void Configure(IApplicationBuilder app, IHostingEnvironment env,
        ILoggerFactory loggerFactory)
    {
        // Log to Google.
        loggerFactory.AddGoogle("YOUR-PROJECT-ID");
    
  3. Compila y ejecuta tu código en Visual Studio. Ve las entradas de registro en el visor de registros de Stackdriver 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 declaraciones de registro a diferentes destinos de salida.

Para comenzar a realizar registros con la integración de Log4Net, instala la biblioteca Google.Cloud.Registros.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 Log4Net XML al archivo Web.config de la configuración 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 a fin de que utilice Stackdriver Logging:

    log4net.Config.XmlConfigurator.Configure();
    

    Una vez que agregaste la línea anterior a tu código, cambia el método Application_Start() en Global.asax.cs a 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 registros que aparecerán en el visor de registros de Stackdriver 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. Ve las entradas de registro en el visor de registros de Stackdriver Logging en el recurso Global.

    Ir al visor de registros

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

Además, tienes la opción de escribir registros personalizados; para ello, llama directamente a la API de Stackdriver Logging.

Para comenzar a generar registros con Google.Cloud.Registros.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 Stackdriver Logging, puedes comenzar a enviar los registros de tu aplicación a Stackdriver Logging; para ello, agrega la siguiente declaración 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 algún 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.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Stackdriver Logging
Si necesitas ayuda, visita nuestra página de asistencia.