Todos os produtos
Search
Central de documentação

Function Compute:Logs

Última atualização: Jun 29, 2026

Este tópico descreve como imprimir e visualizar logs no ambiente .NET.

Imprimir logs

O conteúdo que uma função imprime na saída padrão (stdout) ou no erro padrão (stderr) é coletado no Logstore especificado durante a criação do serviço. Você pode usar o método context.Logger da biblioteca fc-dotnet-lib para imprimir logs. Você também pode usar outras bibliotecas de log.

Nota

Use o método context.Logger para imprimir logs. Os logs impressos com esse método incluem automaticamente o RequestId. Isso ajuda a localizar logs específicos quando ocorre um erro.

Use context.Logger para imprimir logs

Cada log impresso com esse método inclui informações como horário, RequestId e nível de log. O código a seguir fornece um exemplo.

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){}
    }
}

O código de exemplo produz a seguinte saída de log.

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

Alterar o nível de log

Altere o nível de log modificando a propriedade EnabledLogLevel do logger. Os níveis de log estão listados abaixo em ordem decrescente de prioridade.

Nível de log

Nível

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

Para mais informações sobre níveis de log, consulte LogLevel Enum.

O código a seguir fornece um exemplo.

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){}
    }
}

O código produz a seguinte saída de log.

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******          

Visualizar logs

Após a execução de uma função, visualize os logs na aba Invocation Log da página de detalhes da função. Para mais informações, consulte Visualizar logs de invocação.