Ir para o conteúdo

Exemplo de Script - Registro

Logging aproveita a API de Logging da Microsoft. O Logging ajuda a depurar e manter um plugin, dando insights sobre valores atuais, comportamentos esperados e inesperados. O exemplo neste artigo demonstra como registrar mensagens.

Gravidade do Log

Uma mensagem só será registrada se o nível de Severidade for igual ou maior que o valor configurado em Severidade Mínima em Configuração de Log do Servidor de Aplicativos para cada configuração de destino de log (Memória, Banco de Dados e Disco).

Níveis de Gravidade

Gravidade da Microsoft App Builder gravidade Descrição
Off Off Status de configuração em que o log de destino não grava nenhuma mensagem, não se destina ao uso durante o registro.
Trace Trace Mensagem detalhada de etapas minuciosas, esse status deve ser evitado em ambientes de produção.
Debug Debug Usado durante o desenvolvimento para investigar estado e comportamento.
Information Info Usado para rastrear o comportamento esperado, por exemplo, processar um arquivo com sucesso.
Warning Warn Usado quando um comportamento ou estado ainda não é prejudicial, mas deve ser observado, por exemplo, disco ficando sem espaço.
Error Error Usado quando o processo atual precisa parar devido a uma falha, por exemplo, valor de dados inesperado de um arquivo.
Critical Fatal Usado quando uma falha requer atenção imediata.

Tela de configuração do servidor de aplicativos, ilustrando o conjunto de gravidade de informações para configuração do log de memória

Script

using Microsoft.Extensions.Logging;

var logger = Services.GetRequiredService<ILogger>();

logger.LogWarning("My warning message");

imagem

Escopo

O escopo é suportado e permite que informações adicionais sejam anexadas ao registro de log.

using Microsoft.Extensions.Logging;
using System.Collections.Generic;

var logger = Services.GetRequiredService<ILogger>();

logger.LogError("My unscoped error message");

// Appends "MyScope" to the log source
using (logger.BeginScope("MyScope")) {

    logger.LogWarning("My scoped warning");

    // Tags log records with the extra identifing properties.
    using (logger.BeginScope(new Dictionary<string, object>{
       `["ID do cliente"] `= 123,
       `["ID do pedido"] `= 12
    })) {

        logger.LogWarning("My warning with extra data");

    }
}

Saída de exemplo de logs de memória com escopo configurado

Nota

Qualquer propriedade adicionada pelo escopo será protegida, o que significa que será registrada e exibida Registrar dados seguros tem que ser ON.

Mais Informações

Você pode encontrar mais informações sobre API do Logger da Microsoft bem como seus métodos de extensão no Navegador de API .NET da Microsoft.