Você pode imprimir e visualizar logs em ambientes de execução Node.js. Os logs impressos ajudam a localizar problemas rapidamente. Você também pode analisá-los para obter informações sobre a execução da função, como o processo e a duração. Isso melhora a confiabilidade e a estabilidade do sistema.
Imprimir logs
O Simple Log service armazena no Logstore especificado os logs que a função imprime na saída padrão (stdout). Use um dos métodos a seguir para imprimir logs no stdout. O código de exemplo a seguir demonstra isso:
ECMAScript modules
Este exemplo é compatível apenas com o Node.js 18 ou superior.
O código de exemplo permite a implantação com um clique. Implante-o diretamente no Function Compute. nodejs-fc-log-es
export const handler = async (event, context) => {
process.stdout.write('hi,fc\n');
console.log('hello,world');
context.logger.info('hello,fc');
return "Hello World!";
};
CommonJS modules
'use strict';
exports.handler = (event, context, callback) => {
process.stdout.write('hi,fc\n');
console.log('hello,world');
context.logger.info('hello,fc');
callback(null, 'hello,world');
};
Use process.stdout.write to print logs
Ao usar este método para imprimir logs, o sistema imprime o conteúdo exatamente como foi gerado. Log de exemplo:
hi,fc
Use console.log to print logs
Ao usar este método para imprimir logs, cada log contém informações como horário, id da solicitação e nível do log. Log de exemplo:
2024-03-04 07:01:16.927 1-65e571bc-158a59e8-b63f98cd471c [info] hello,world
Use context.logger to print logs
Se você configure a concorrência da instância da função para um valor maior que 1, uma única instância da função processa várias solicitações simultaneamente. Nesse caso, recomendamos usar o context.logger para imprimir logs. Isso permite diferenciar os logs de cada solicitação simultânea pelo id da solicitação. Log de exemplo:
2024-03-04 07:01:16.927 1-65e571bc-158a59e8-b63f98cd471c [[object Object]] hello,fc
Níveis de gravidade de log personalizados
Os ambientes de execução Nodejs18 e Nodejs20 suportam níveis de gravidade de log personalizados.
Personalize os níveis de gravidade do log usando a variável de ambiente ALIYUN_FC_LOG_LEVEL. Os níveis de log personalizados, do menor para o maior nível de gravidade, são: debug, info, warn e error. O nível debug é o mais baixo e o error é o mais alto.
O sistema imprime apenas os logs com níveis de gravidade superiores ou iguais a ALIYUN_FC_LOG_LEVEL.
Por exemplo, se você configure ALIYUN_FC_LOG_LEVEL=warn, o sistema imprime somente os logs com níveis iguais ou superiores a warn. Por padrão, o nível dos logs que o console.log imprime é info, inferior ao nível warn. Nesse cenário, o sistema não imprime logs de nível info. A variável de ambiente não afeta os logs impressos com process.stdout.write().
Procedimento
crie um diretório de código para testes, por exemplo,
mycode.-
crie o arquivo de código
index.jsno diretóriocodee salve o seguinte código de exemplo emindex.js.'use strict'; exports.handler = (event, context, callback) => { process.stdout.write('stdout log\n'); console.log('console log'); context.logger.debug('context log info'); context.logger.info('context log info'); context.logger.warn('context log warn'); context.logger.error('context log error'); callback(null, 'hello,world'); } Acesse o console do Function Compute. crie uma função selecionando Event Function. Selecione Node.js 18 ou Node.js 20 como ambiente de execução e Upload Folder como método de upload de código. Para mais informações, consulte crie an event-triggered function.
Na página de detalhes da função, clique em aba Configurations. No painel de navegação à esquerda, clique em Environment Variables. Na seção Environment Variables, clique em modifique.
Se você configure
ALIYUN_FC_LOG_LEVEL=warn, o sistema imprime os seguintes logs após você clique em Test Function:
stdout log
2024-06-19 08:48:51.672 1--xxx-xxx-xxx [warn] context log warn
2024-06-19 08:48:51.672 1--xxx-xxx-xxx [error] context log error
visualize logs
Após a execução da função, visualize os logs na aba Logs. Para mais informações, consulte visualize invocation logs.