Tous les produits
Search
Centre de documentation

Function Compute:Journaux

Dernière mise à jour :Aug 12, 2026

Cette rubrique explique comment imprimer et consulter des journaux dans un environnement .NET.

Impression des journaux

Le contenu qu'une fonction envoie vers la sortie standard (stdout) ou l'erreur standard (stderr) est collecté dans le Logstore spécifié lors de la création du service. Pour imprimer des journaux, utilisez la méthode context.Logger de la bibliothèque fc-dotnet-lib. Vous pouvez également recourir à d'autres bibliothèques de journalisation.

Remarque

Utilisez la méthode context.Logger pour imprimer des journaux. Les entrées générées ainsi intègrent automatiquement le RequestId, ce qui facilite la localisation des journaux pertinents en cas d'erreur.

Utilisation de context.Logger pour l'impression des journaux

Chaque entrée de journal produite par cette méthode contient diverses informations, notamment l'horodatage, le RequestId et le niveau de sévérité. L'exemple de code suivant illustre ce fonctionnement.

using System.IO;
using System.Threading.Tasks;
using Aliyun.Serverless.Core;
using Microsoft.Extensions.Logging;

namespace Example
{
    public class Hello
    {
        public async Task<Stream> StreamHandler(Stream input, IFcContext context)
        {
            IFcLogger logger = context.Logger;
            logger.LogInformation("Handle request: {0}", context.RequestId);
            logger.LogInformation(string.Format("detail = {0} ", "hello world"));
            MemoryStream copy = new MemoryStream();
            await input.CopyToAsync(copy);
            copy.Seek(0, SeekOrigin.Begin);
            return copy;
        }

        static void Main(string[] args){}
    }
}

L'exécution de cet exemple génère la sortie de journal suivante.

2022-10-09T07:20:31.024Z 9666a77e-65e7-42a9-b011-************ [INFO] detail = hello world

Modification du niveau de journalisation

Modifiez le niveau de journalisation en ajustant la propriété EnabledLogLevel du logger. Les niveaux disponibles sont présentés ci-dessous, classés par ordre décroissant de priorité.

Niveau de journal

Niveau

Interface

Critical

5

context.Logger.LogCritical

Error

4

context.Logger.LogError

Warning

3

context.Logger.LogWarning

Information

2

context.Logger.LogInformation

Debug

1

context.Logger.LogDebug

Trace

0

context.Logger.LogTrace

Pour plus d'informations sur les niveaux de journalisation, consultez LogLevel Enum.

L'exemple de code ci-dessous illustre cette configuration.

using System.IO;
using System.Threading.Tasks;
using Aliyun.Serverless.Core;
using Microsoft.Extensions.Logging;

namespace Example
{
    public class Hello
    {
        public async Task<Stream> StreamHandler(Stream input, IFcContext context)
        {
            IFcLogger logger = context.Logger;

            // Print log messages with a level of Error or higher.
            logger.EnabledLogLevel = LogLevel.Error;
            logger.LogError("console error 1");
            logger.LogInformation("console info 1");
            logger.LogWarning("console warn 1");
            logger.LogDebug("console debug 1");

            // Print log messages with a level of Warning or higher.
            logger.EnabledLogLevel = LogLevel.Warning;
            logger.LogError("console error 2");
            logger.LogInformation("console info 2");
            logger.LogWarning("console warn 2");
            logger.LogDebug("console debug 2");

            // Print log messages with a level of Information or higher.
            logger.EnabledLogLevel = LogLevel.Information;
            logger.LogInformation("Handle request: {0}", context.RequestId);

            MemoryStream copy = new MemoryStream();
            await input.CopyToAsync(copy);
            copy.Seek(0, SeekOrigin.Begin);
            return copy;
        }

        static void Main(string[] args){}
    }
}

L'exécution de ce code produit la sortie de journal suivante.

2022-10-09T07:31:42.644Z 77b8ed17-6760-4877-8a43-b79189****** [ERROR] console error 1
2022-10-09T07:31:42.644Z 77b8ed17-6760-4877-8a43-b79189****** [ERROR] console error 2
2022-10-09T07:31:42.644Z 77b8ed17-6760-4877-8a43-b79189****** [WARNING] console warn 2
2022-10-09T07:31:42.644Z 77b8ed17-6760-4877-8a43-b79189****** [INFO] Handle request: 77b8ed17-6760-4877-8a43-b79189******          

Consultation des journaux

Une fois la fonction exécutée, consultez les journaux sous l'onglet Invocation Log de la page de détails de la fonction. Pour plus d'informations, voir Consulter les journaux d'invocation.