O AWS Lambda monitora automaticamente as funções do Lambda e envia entradas de logs para o Amazon CloudWatch. Sua função do Lambda vem com um grupo de logs do CloudWatch Logs e uma transmissão de logs para cada instância de sua função. O ambiente de runtime do Lambda envia detalhes sobre cada invocação e outras saídas do código da função para o fluxo de logs. Para obter mais informações sobre o CloudWatch Logs, consulte Uso do CloudWatch Logs com o Lambda.
Seções
Criar uma função que retorna logs
Para gerar os logs do código de função, você pode usar o ILambdaLoggerstdout
ou no stderr
.
O runtime do .NET registra em log as linhas START
, END
e REPORT
para cada invocação. A linha do relatório fornece os detalhes a seguir.
RELATAR campos de dados de linha
-
RequestId: o ID de solicitação exclusivo para a invocação.
-
Duração: a quantidade de tempo que o método de manipulador da função gastou processando o evento.
-
Duração faturada: a quantia de tempo faturada para a invocação.
-
Tamanho da memória: a quantidade de memória alocada para a função.
-
Memória máxima utilizada: a quantidade de memória utilizada pela função. Quando as invocações compartilham um ambiente de execução, o Lambda relata a memória máxima usada em todas as invocações. Esse comportamento pode resultar em um valor relatado maior do que o esperado.
-
Duração inicial: para a primeira solicitação atendida, a quantidade de tempo que o runtime levou para carregar a função e executar o código fora do método do handler.
-
XRAY TraceId: para solicitações rastreadas, o ID de rastreamento do AWS X-Ray.
-
SegmentId: para solicitações rastreadas, o ID do segmento do X-Ray.
-
Amostragem: para solicitações rastreadas, o resultado da amostragem.
Uso de controles avançados de registro em log do Lambda com .NET
Para dar mais controle sobre como os logs das funções são capturados, processados e consumidos, você pode configurar as seguintes opções de log para runtimes compatíveis do .NET:
-
Formato do log: selecione entre texto simples e formato JSON estruturado para os logs da sua função.
-
Nível de log: para logs no formato JSON, escolha o nível de detalhe dos logs enviados pelo Lambda para o CloudWatch, como ERROR, DEBUG ou INFO.
-
Grupo de logs: escolha o grupo de logs do CloudWatch para o qual sua função envia logs.
Para obter mais informações sobre essas opções de registro em log e instruções sobre como configurar a função para usá-las, consulte Configurar controles avançados de registro em log para funções do Lambda.
Para usar as opções de formato de log e nível de log com as funções do Lambda para .NET, consulte as orientações nas seções a seguir.
Uso de logs em formato JSON estruturado com .NET
Se você selecionar JSON para o formato de log da função, o Lambda enviará a saída de logs usando ILambdaLogger
-
"timestamp"
: o horário em que a mensagem de log foi gerada. -
"level"
: o nível de log atribuído à mensagem. -
"requestId"
: o ID de solicitação exclusivo para invocar a função. -
"traceId"
: a variável de ambiente_X_AMZN_TRACE_ID
-
"message"
: o conteúdo da mensagem de log.
A instância ILambdaLogger
pode adicionar mais pares de valores-chave, por exemplo, ao gerar logs de exceções. Você também pode fornecer seus próprios parâmetros adicionais, conforme descrito na seção Parâmetros de log fornecidos pelo cliente.
nota
Se o código já usa outra biblioteca de logs para produzir logs em formato JSON, certifique-se de que o formato de log da função esteja definido como texto sem formatação. Definir o formato de log como JSON resultará na codificação dupla das saídas de log.
O exemplo de comando de geração de log a seguir mostra como escrever uma mensagem de log com o nível INFO
.
exemplo Código de log do .NET
context.Logger.LogInformation("Fetching cart from database");
Você também pode usar um método de log genérico que usa o nível de log como argumento, conforme mostrado no exemplo a seguir.
context.Logger.Log(LogLevel.Information, "Fetching cart from database");
A saída de log desse exemplo de trechos de código seria capturada no CloudWatch Logs da seguinte forma:
exemplo Registro em log JSON
{
"timestamp": "2023-09-07T01:30:06.977Z",
"level": "Information",
"requestId": "8f711428-7e55-46f9-ae88-2a65d4f85fc5",
"traceId": "1-6408af34-50f56f5b5677a7d763973804",
"message": "Fetching cart from database"
}
nota
Se você configurar o formato de log da sua função para usar texto sem formatação, em vez de JSON, o nível de log capturado na mensagem seguirá a convenção da Microsoft de usar um rótulo de quatro caracteres. Por exemplo, um nível de log de Debug
é representado na mensagem como dbug
.
Quando você configura sua função para usar logs no formato JSON, o nível de log capturado no log usa o rótulo completo, conforme mostrado no exemplo de registro de log JSON.
Se você não atribuir um nível à saída de log, o Lambda atribuirá automaticamente o nível INFO a ele.
Exceções de log em JSON
Ao usar a geração estruturada de logs JSON com ILambdaLogger
, você pode registrar exceções em seu código, conforme mostrado no exemplo a seguir.
exemplo uso de logs de exceções
try
{
connection.ExecuteQuery(query);
}
catch(Exception e)
{
context.Logger.LogWarning(e, "Error executing query");
}
A saída do formato de log por esse código é mostrada no JSON de exemplo a seguir. Observe que a propriedade message
no JSON é preenchida usando o argumento de mensagem fornecido na chamada LogWarning
, enquanto a propriedade errorMessage
vem da propriedade Message
da própria exceção.
exemplo Registro em log JSON
{
"timestamp": "2023-09-07T01:30:06.977Z",
"level": "Warning",
"requestId": "8f711428-7e55-46f9-ae88-2a65d4f85fc5",
"traceId": "1-6408af34-50f56f5b5677a7d763973804",
"message": "Error executing query",
"errorType": "System.Data.SqlClient.SqlException",
"errorMessage": "Connection closed",
"stackTrace": ["<call exception.StackTrace>"]
}
Se o formato de log da sua função estiver definido como JSON, o Lambda também mostrará mensagens de log formatadas em JSON quando seu código gerar uma exceção não detectada. O exemplo de trecho de código e mensagem de log a seguir mostra como as exceções não detectadas são registradas em log.
exemplo código de exceção
throw new ApplicationException("Invalid data");
exemplo Registro em log JSON
{
"timestamp": "2023-09-07T01:30:06.977Z",
"level": "Error",
"requestId": "8f711428-7e55-46f9-ae88-2a65d4f85fc5",
"traceId": "1-6408af34-50f56f5b5677a7d763973804",
"message": "Invalid data",
"errorType": "System.ApplicationException",
"errorMessage": "Invalid data",
"stackTrace": ["<call exception.StackTrace>"]
}
Parâmetros de log fornecidos pelo cliente
Com mensagens de log formatadas em JSON, você pode fornecer parâmetros adicionais de log e incluí-los no log message
. O exemplo de trecho de código a seguir mostra um comando para adicionar dois parâmetros fornecidos pelo usuário com os rótulos retryAttempt
e uri
. No exemplo, o valor desses parâmetros vem dos argumentos retryAttempt
e uriDestination
passados para o comando de geração e log.
exemplo Comando de geração de log JSON com parâmetros adicionais
context.Logger.LogInformation("Starting retry {retryAttempt} to make GET request to {uri}", retryAttempt, uriDestination);
A saída da mensagem de log desse comando é mostrada no JSON de exemplo a seguir.
exemplo Registro em log JSON
{
"timestamp": "2023-09-07T01:30:06.977Z",
"level": "Information",
"requestId": "8f711428-7e55-46f9-ae88-2a65d4f85fc5",
"traceId": "1-6408af34-50f56f5b5677a7d763973804",
"message": "Starting retry 1 to make GET request to http://example.com/",
"retryAttempt": 1,
"uri": "http://example.com/"
}
dica
Você também pode usar propriedades posicionais, em vez de nomes, ao especificar parâmetros adicionais. O comando de geração de log do exemplo anterior também poderia ser escrito da seguinte forma:
context.Logger.LogInformation("Starting retry {0} to make GET request to {1}", retryAttempt, uriDestination);
Observe que, quando você fornece parâmetros adicionais de log, o Lambda os captura como propriedades de nível superior no registro de log JSON. Essa abordagem difere de algumas bibliotecas populares de logs .NET, como Serilog
, que captura parâmetros adicionais em um objeto filho separado.
Se o argumento que você fornece para um parâmetro adicional for um objeto complexo, por padrão, o Lambda usa o método ToString()
para fornecer o valor. Para indicar que um argumento deve ser um objeto serializado JSON, use o prefixo @
conforme mostrado no trecho de código a seguir. Neste exemplo, User
é um objeto com as propriedades FirstName
e LastName
.
exemplo Comando de geração de log JSON com objeto serializado JSON
context.Logger.LogInformation("User {@user} logged in", User);
A saída da mensagem de log desse comando é mostrada no JSON de exemplo a seguir.
exemplo Registro em log JSON
{
"timestamp": "2023-09-07T01:30:06.977Z",
"level": "Information",
"requestId": "8f711428-7e55-46f9-ae88-2a65d4f85fc5",
"traceId": "1-6408af34-50f56f5b5677a7d763973804",
"message": "User {@user} logged in",
"user":
{
"FirstName": "John",
"LastName": "Doe"
}
}
Se o argumento para um parâmetro adicional for uma matriz ou implementar IList
ou IDictionary
, o Lambda acrescentará o argumento à mensagem de log JSON como uma matriz, conforme mostrado no exemplo de registro de log JSON a seguir. Neste exemplo, {users}
usa um argumento IList
que contém instâncias da propriedade User
com o mesmo formato do exemplo anterior. O Lambda converte IList
em uma matriz, com cada valor sendo criado usando o método ToString
.
exemplo Registro de log JSON com um argumento IList
{
"timestamp": "2023-09-07T01:30:06.977Z",
"level": "Information",
"requestId": "8f711428-7e55-46f9-ae88-2a65d4f85fc5",
"traceId": "1-6408af34-50f56f5b5677a7d763973804",
"message": "{users} have joined the group",
"users":
[
"Rosalez, Alejandro",
"Stiles, John"
]
}
Você também pode serializar a lista com JSON usando o prefixo @
em seu comando de geração de log. No exemplo de registro de log JSON a seguir, a propriedade users
é serializada em JSON.
exemplo Registro de log JSON com um argumento IList
serializado JSON
{
"timestamp": "2023-09-07T01:30:06.977Z",
"level": "Information",
"requestId": "8f711428-7e55-46f9-ae88-2a65d4f85fc5",
"traceId": "1-6408af34-50f56f5b5677a7d763973804",
"message": "{@users} have joined the group",
"users":
[
{
"FirstName": "Alejandro",
"LastName": "Rosalez"
},
{
"FirstName": "John",
"LastName": "Stiles"
}
]
}
Uso de filtragem em nível de log com .NET
Ao configurar a filtragem em nível de log, você pode optar por enviar somente logs de um determinado nível de detalhe, ou inferior, para o CloudWatch Logs. Para saber como configurar a filtragem em nível de log para a função, consulte Filtragem em nível de log.
Para o AWS Lambda filtrar suas mensagens de log por nível de log, você pode usar logs formatados em JSON ou usar os métodos .NET Console
para gerar mensagens de log. Para criar logs no formato JSON, configure o tipo de log da sua função como JSON e use a instância ILambdaLogger
.
Com logs formatados em JSON, o Lambda filtrará as saídas de log usando o par de valores-chave “nível” no objeto JSON descrito em Uso de logs em formato JSON estruturado com .NET.
Se você usa os métodos .NET Console
para gravar mensagens no CloudWatch Logs, o Lambda aplica níveis de log às suas mensagens da seguinte forma:
-
Método Console.WriteLine: o Lambda aplica um nível de log
INFO
-
Método Console.Error: o Lambda aplica um nível de log
ERROR
Ao configurar sua função para usar a filtragem em nível de log, você precisa selecionar entre as seguintes opções para o nível de logs enviados pelo Lambda para o CloudWatch Logs. Observe o mapeamento dos níveis de log usados pelo Lambda com os níveis padrão da Microsoft usados pelo ILambdaLogger
.NET.
Nível de log do Lambda | Nível equivalente da Microsoft | Uso padrão |
---|---|---|
TRACE (mais detalhes) | Rastreamento | As informações mais detalhadas usadas para rastrear o caminho da execução do código |
DEBUG | Depure | Informações detalhadas para depuração do sistema |
INFO | Informações | Mensagens que registram a operação normal da função |
WARN | Aviso | Mensagens sobre possíveis erros que podem levar a um comportamento inesperado se não forem corrigidos |
ERRO | Erro | Mensagens sobre problemas que impedem que o código funcione conforme o esperado |
FATAL (menos detalhes) | Crítico | Mensagens sobre erros graves que fazem a aplicação parar de funcionar |
O Lambda envia logs do nível de detalhe selecionado, e dos níveis inferiores, para o CloudWatch. Por exemplo, se você configurar um nível de log de WARN, o Lambda enviará logs correspondentes aos níveis WARN, ERROR e FATAL.
Outras ferramentas de geração de log e bibliotecas
O Powertools para AWS Lambda (.NET)
Capturar campos-chave do contexto do Lambda, inicialização a frio e estruturas registrando em log a saída como JSON
Registrar em log eventos de invocação do Lambda quando instruído (desativado por padrão)
Imprimir todos os logs somente para uma porcentagem das invocações por meio da amostragem de logs (desativado por padrão)
Anexar chaves adicionais ao log estruturado a qualquer momento
Use um formatador de log personalizado (Bring Your Own Formatter) para gerar logs em uma estrutura compatível com o RFC de logs da sua organização
Uso do Powertools para AWS Lambda (.NET) e do AWS SAM para registro em log estruturado
Siga as etapas abaixo para baixar, criar e implantar um exemplo de aplicação C# Hello World com os módulos integrados do Powertools para AWS Lambda (.NET)hello world
.
Pré-requisitos
Para executar as etapas desta seção, você deve ter o seguinte:
-
.NET 8
-
AWS SAM CLI versão 1.75 ou posterior. Se você tiver uma versão mais antiga da CLI do AWS SAM, consulte Atualizando a CLI do AWS SAM.
Implantar uma aplicação de exemplo do AWS SAM
-
Inicialize a aplicação usando o modelo Hello World TypeScript.
sam init --app-template hello-world-powertools-dotnet --name sam-app --package-type Zip --runtime dotnet6 --no-tracing
-
Crie a aplicação.
cd sam-app && sam build
-
Implante o aplicativo.
sam deploy --guided
-
Siga as instruções na tela. Para aceitar as opções padrão fornecidas na experiência interativa, pressione
Enter
.nota
Em HelloWorldFunction pode não ter autorização definida, tudo bem?, certifique-se de inserir
y
. -
Obtenha o URL da aplicação implantada:
aws cloudformation describe-stacks --stack-name sam-app --query 'Stacks[0].Outputs[?OutputKey==`HelloWorldApi`].OutputValue' --output text
-
Invoque o endpoint da API:
curl -X GET
<URL_FROM_PREVIOUS_STEP>
Se tiver êxito, você verá esta resposta:
{"message":"hello world"}
-
Para obter os logs da função, execute sam logs. Para obter mais informações, consulte Trabalhar com logs no Guia do desenvolvedor do AWS Serverless Application Model.
sam logs --stack-name sam-app
O resultado de saída do log se parece com:
2023/02/20/[$LATEST]4eaf8445ba7a4a93b999cb17fbfbecd8 2023-02-20T14:15:27.988000 INIT_START Runtime Version: dotnet:6.v13 Runtime Version ARN: arn:aws:lambda:ap-southeast-2::runtime:699f346a05dae24c58c45790bc4089f252bf17dae3997e79b17d939a288aa1ec 2023/02/20/[$LATEST]4eaf8445ba7a4a93b999cb17fbfbecd8 2023-02-20T14:15:28.229000 START RequestId: bed25b38-d012-42e7-ba28-f272535fb80e Version: $LATEST 2023/02/20/[$LATEST]4eaf8445ba7a4a93b999cb17fbfbecd8 2023-02-20T14:15:29.259000 2023-02-20T14:15:29.201Z bed25b38-d012-42e7-ba28-f272535fb80e info {"_aws":{"Timestamp":1676902528962,"CloudWatchMetrics":[{"Namespace":"sam-app-logging","Metrics":[{"Name":"ColdStart","Unit":"Count"}],"Dimensions":[["FunctionName"],["Service"]]}]},"FunctionName":"sam-app-HelloWorldFunction-haKIoVeose2p","Service":"PowertoolsHelloWorld","ColdStart":1} 2023/02/20/[$LATEST]4eaf8445ba7a4a93b999cb17fbfbecd8 2023-02-20T14:15:30.479000 2023-02-20T14:15:30.479Z bed25b38-d012-42e7-ba28-f272535fb80e info {"ColdStart":true,"XrayTraceId":"1-63f3807f-5dbcb9910c96f50742707542","CorrelationId":"d3d4de7f-4ccc-411a-a549-4d67b2fdc015","FunctionName":"sam-app-HelloWorldFunction-haKIoVeose2p","FunctionVersion":"$LATEST","FunctionMemorySize":256,"FunctionArn":"arn:aws:lambda:ap-southeast-2:123456789012:function:sam-app-HelloWorldFunction-haKIoVeose2p","FunctionRequestId":"bed25b38-d012-42e7-ba28-f272535fb80e","Timestamp":"2023-02-20T14:15:30.4602970Z","Level":"Information","Service":"PowertoolsHelloWorld","Name":"AWS.Lambda.Powertools.Logging.Logger","Message":"Hello world API - HTTP 200"} 2023/02/20/[$LATEST]4eaf8445ba7a4a93b999cb17fbfbecd8 2023-02-20T14:15:30.599000 2023-02-20T14:15:30.599Z bed25b38-d012-42e7-ba28-f272535fb80e info {"_aws":{"Timestamp":1676902528922,"CloudWatchMetrics":[{"Namespace":"sam-app-logging","Metrics":[{"Name":"ApiRequestCount","Unit":"Count"}],"Dimensions":[["Service"]]}]},"Service":"PowertoolsHelloWorld","ApiRequestCount":1} 2023/02/20/[$LATEST]4eaf8445ba7a4a93b999cb17fbfbecd8 2023-02-20T14:15:30.680000 END RequestId: bed25b38-d012-42e7-ba28-f272535fb80e 2023/02/20/[$LATEST]4eaf8445ba7a4a93b999cb17fbfbecd8 2023-02-20T14:15:30.680000 REPORT RequestId: bed25b38-d012-42e7-ba28-f272535fb80e Duration: 2450.99 ms Billed Duration: 2451 ms Memory Size: 256 MB Max Memory Used: 74 MB Init Duration: 240.05 ms XRAY TraceId: 1-63f3807f-5dbcb9910c96f50742707542 SegmentId: 16b362cd5f52cba0
-
Este é um endpoint de API pública que é acessado pela Internet. Recomendamos excluir o endpoint após o teste.
sam delete
Gerenciar a retenção de logs
Os grupos de logs não são excluídos automaticamente excluídos quando você exclui uma função. Para evitar armazenar logs por tempo indeterminado, exclua o grupo de logs ou configure um período de retenção após o qual o CloudWatch excluirá os logs automaticamente. Para configurar a retenção de logs, adicione o seguinte ao seu modelo do AWS SAM:
Resources:
HelloWorldFunction:
Type: AWS::Serverless::Function
Properties:
# Omitting other properties
LogGroup:
Type: AWS::Logs::LogGroup
Properties:
LogGroupName: !Sub "/aws/lambda/${HelloWorldFunction}"
RetentionInDays: 7
Visualizar logs no console do Lambda
Você pode usar o console do Lambda para exibir a saída do log depois de invocar uma função do Lambda.
Se seu código puder ser testado no editor de Código incorporado, você encontrará logs nos resultados de execução. Ao usar o recurso de teste do console para invocar uma função, você encontrará Saída de log na seção Detalhes.
Visualização de logs no console do CloudWatch
Você pode usar o console do Amazon CloudWatch para exibir registros de todas as invocações da função do Lambda.
Para visualizar logs no console do CloudWatch
-
No console do Amazon CloudWatch, abra a página Log groups
(Grupos de log). -
Escolha o grupo de logs de sua função (/aws/lambda/
nome-de-sua-função
). -
Escolha um stream de logs.
Cada fluxo de log corresponde a uma instância da sua função. Uma transmissão de logs é exibida quando você atualiza sua função do Lambda e quando mais instâncias são criadas para lidar com várias invocações simultâneas. Para localizar logs de uma invocação específica, recomendamos intrumentar sua função com AWS X-Ray. O X-Ray registra detalhes sobre a solicitação e o stream de logs no rastreamento.
Visualizar logs usando a AWS Command Line Interface (AWS CLI)
O AWS CLI é uma ferramenta de código aberto que permite interagir com os serviços do AWS usando comandos no shell da linha de comando. Para concluir as etapas desta seção, você deve ter a versão 2 da AWS CLI.
Você pode usar a AWS CLI para recuperar logs de uma invocação usando a opção de comando --log-type
. A resposta contém um campo LogResult
com até 4 KB de logs codificados em base64 obtidos da invocação.
exemplo recuperar um ID de log
O exemplo a seguir mostra como recuperar um ID de log do campo LogResult
para uma função chamada my-function
.
aws lambda invoke --function-name my-function out --log-type Tail
A seguinte saída deverá ser mostrada:
{
"StatusCode": 200,
"LogResult": "U1RBUlQgUmVxdWVzdElkOiA4N2QwNDRiOC1mMTU0LTExZTgtOGNkYS0yOTc0YzVlNGZiMjEgVmVyc2lvb...",
"ExecutedVersion": "$LATEST"
}
exemplo decodificar os logs
No mesmo prompt de comando, use o utilitário base64
para decodificar os logs. O exemplo a seguir mostra como recuperar logs codificados em base64 de my-function
.
aws lambda invoke --function-name my-function out --log-type Tail \ --query 'LogResult' --output text --cli-binary-format raw-in-base64-out | base64 --decode
A opção cli-binary-format será necessária se você estiver usando a AWS CLI versão 2. Para que essa seja a configuração padrão, execute aws configure set cli-binary-format raw-in-base64-out
. Para obter mais informações, consulte A AWS CLI comporta opções de linha de comando globais no Guia do usuário da AWS Command Line Interface versão 2.
A seguinte saída deverá ser mostrada:
START RequestId: 57f231fb-1730-4395-85cb-4f71bd2b87b8 Version: $LATEST "AWS_SESSION_TOKEN": "AgoJb3JpZ2luX2VjELj...", "_X_AMZN_TRACE_ID": "Root=1-5d02e5ca-f5792818b6fe8368e5b51d50;Parent=191db58857df8395;Sampled=0"",ask/lib:/opt/lib", END RequestId: 57f231fb-1730-4395-85cb-4f71bd2b87b8 REPORT RequestId: 57f231fb-1730-4395-85cb-4f71bd2b87b8 Duration: 79.67 ms Billed Duration: 80 ms Memory Size: 128 MB Max Memory Used: 73 MB
O utilitário base64
está disponível no Linux, macOS e Ubuntu no Windowsbase64 -D
.
exemplo get-logs.sh script
No mesmo prompt de comando, use o script a seguir para fazer download dos últimos cinco eventos de log. O script usa sed
para remover as aspas do arquivo de saída e fica inativo por 15 segundos para que os logs tenham tempo de ficar disponíveis. A saída inclui a resposta do Lambda, e a saída do comando get-log-events
.
Copie o conteúdo do exemplo de código a seguir e salve no diretório de seu projeto do Lambda como get-logs.sh
.
A opção cli-binary-format será necessária se você estiver usando a AWS CLI versão 2. Para que essa seja a configuração padrão, execute aws configure set cli-binary-format raw-in-base64-out
. Para obter mais informações, consulte A AWS CLI comporta opções de linha de comando globais no Guia do usuário da AWS Command Line Interface versão 2.
#!/bin/bash aws lambda invoke --function-name my-function --cli-binary-format raw-in-base64-out --payload '{"key": "value"}' out sed -i'' -e 's/"//g' out sleep 15 aws logs get-log-events --log-group-name /aws/lambda/
my-function
--log-stream-namestream1
--limit 5
exemplo macOS e Linux (somente)
No mesmo prompt de comando, os usuários do macOS e do Linux podem precisar executar o comando a seguir para garantir que o script seja executável.
chmod -R 755 get-logs.sh
exemplo recuperar os últimos cinco eventos de log
No mesmo prompt de comando, execute o script a seguir para obter os últimos cinco eventos de log.
./get-logs.sh
A seguinte saída deverá ser mostrada:
{
"StatusCode": 200,
"ExecutedVersion": "$LATEST"
}
{
"events": [
{
"timestamp": 1559763003171,
"message": "START RequestId: 4ce9340a-b765-490f-ad8a-02ab3415e2bf Version: $LATEST\n",
"ingestionTime": 1559763003309
},
{
"timestamp": 1559763003173,
"message": "2019-06-05T19:30:03.173Z\t4ce9340a-b765-490f-ad8a-02ab3415e2bf\tINFO\tENVIRONMENT VARIABLES\r{\r \"AWS_LAMBDA_FUNCTION_VERSION\": \"$LATEST\",\r ...",
"ingestionTime": 1559763018353
},
{
"timestamp": 1559763003173,
"message": "2019-06-05T19:30:03.173Z\t4ce9340a-b765-490f-ad8a-02ab3415e2bf\tINFO\tEVENT\r{\r \"key\": \"value\"\r}\n",
"ingestionTime": 1559763018353
},
{
"timestamp": 1559763003218,
"message": "END RequestId: 4ce9340a-b765-490f-ad8a-02ab3415e2bf\n",
"ingestionTime": 1559763018353
},
{
"timestamp": 1559763003218,
"message": "REPORT RequestId: 4ce9340a-b765-490f-ad8a-02ab3415e2bf\tDuration: 26.73 ms\tBilled Duration: 27 ms \tMemory Size: 128 MB\tMax Memory Used: 75 MB\t\n",
"ingestionTime": 1559763018353
}
],
"nextForwardToken": "f/34783877304859518393868359594929986069206639495374241795",
"nextBackwardToken": "b/34783877303811383369537420289090800615709599058929582080"
}
Excluir logs
Os grupos de logs não são excluídos automaticamente excluídos quando você exclui uma função. Para evitar armazenar logs indefinidamente, exclua o grupo de logs ouConfigurar um período de retençãoapós o qual os logs são excluídos automaticamente.