Utiliser ASP.NET ou appeler l'API

La bibliothèque cliente Cloud Logging peut être employée de trois façons :

Option 1 : Utiliser une intégration ASP.NET Core

Google.Cloud.Diagnostics.AspNetCore est une bibliothèque qui envoie vos journaux ASP.NET standards à Cloud Logging.

Pour commencer la journalisation à l'aide de Google.Cloud.Diagnostics.AspNetCore, installez la bibliothèque en exécutant l'une des commandes suivantes :

Gestionnaire de packages

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

CLI .NET

> dotnet add package Google.Cloud.Diagnostics.AspNetCore

Appliquez ensuite les modifications ci-dessous à votre fichier Startup.cs :

  1. Ajoutez les instructions d'utilisation suivantes en haut du fichier Startup.cs :

    
    using Google.Cloud.Diagnostics.AspNetCore;
    using Microsoft.Extensions.Logging;
    
  2. Modifiez la fonction Configure. Incluez un objet ILoggerFactory loggerFactory et ajoutez un appel à 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. Compilez et exécutez le code dans Visual Studio. Affichez les entrées de journal dans la visionneuse de journaux de Cloud Logging sous la ressource Global.

    Accéder à la visionneuse de journaux

Option 2 : Utiliser une intégration Log4Net

Log4Net est une bibliothèque Apache qui vous permet de générer des entrées de journal pour diverses cibles de sortie.

Pour commencer la journalisation à l'aide de l'intégration Log4Net, installez la bibliothèque Google.Cloud.Logging.Log4Net en exécutant la commande suivante :

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

Ensuite, procédez comme suit :

  1. Ajoutez une section de configuration XML Log4Net au fichier Web.config de l'application Web contenant le code suivant :

    <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. Ajoutez la ligne de code suivante au fichier Global.asax.cs de l'application pour configurer l'utilisation de Logging avec Log4Net :

    log4net.Config.XmlConfigurator.Configure();
    

    Une fois que vous avez ajouté la ligne précédente au code, modifiez la méthode Application_Start() dans Global.asax.cs comme suit :

            protected void Application_Start()
            {
                GlobalConfiguration.Configure(WebApiConfig.Register);
    
                // Configure log4net to use Stackdriver logging from the XML configuration file.
                log4net.Config.XmlConfigurator.Configure();
            }
    
  3. Pour utiliser log4net dans le code de l'application, ajoutez l'instruction suivante afin d'inclure la bibliothèque cliente :

    using log4net;
    
  4. Ajoutez le code suivant à l'application pour écrire les journaux qui apparaîtront dans la visionneuse de journaux de la suite des opérations Google Cloud, dans la ressource Global. Le nom du journal est spécifié dans le fichier 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. Compilez et exécutez le code dans Visual Studio. Affichez les entrées de journal dans la visionneuse de journaux de Logging sous la ressource Global.

    Accéder à la visionneuse de journaux

Option 3 : Écrire des journaux personnalisés à l'aide de l'API Logging

Vous pouvez également écrire des journaux personnalisés en appelant directement l'API Cloud Logging.

Pour commencer la journalisation à l'aide de Google.Cloud.Logging.V2, installez la bibliothèque en exécutant l'une des commandes suivantes :

Gestionnaire de packages

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

CLI .NET

> dotnet add package Google.Cloud.Logging.V2

Une fois le client Logging installé, vous pouvez commencer à envoyer les journaux de votre application à Logging. Ajoutez pour cela les instructions suivantes au code de votre application :

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

Personnalisez la méthode suivante et ajoutez-la au code de l'application :

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

Écrivez un code de journalisation qui appelle WriteLogEntry(). L'entrée de journal créée apparaît dans la visionneuse de journaux sous la ressource Global :

Accéder à la visionneuse de journaux

Pour en savoir plus sur la visionneuse de journaux, consultez la section Afficher les journaux.