En los entornos de ejecución de Node.js es posible imprimir y consultar registros. Los registros impresos sirven para localizar problemas con rapidez o para analizarlos y obtener información sobre la ejecución de la función, como el proceso y la duración. Esto mejora la confiabilidad y estabilidad del sistema.
Imprimir registros
Los registros que una función imprime en la salida estándar (stdout) se almacenan en el logstore especificado de Simple Log Service. Para imprimir registros en stdout, utilice uno de los métodos a continuación. El siguiente código de ejemplo muestra cómo hacerlo:
Módulos ECMAScript
Este ejemplo solo es compatible con Node.js 18 o versiones posteriores.
El código de ejemplo admite el despliegue con un solo clic. Despliegue el código de ejemplo en Function Compute con un solo clic. 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!";
};
Módulos CommonJS
'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
Si utiliza este método, el contenido del registro se imprime tal cual. Registro de ejemplo:
hi,fc
Use console.log to print logs
Con este método, cada registro incluye información como la hora, el ID de solicitud y el nivel de registro. Registro de ejemplo:
2024-03-04 07:01:16.927 1-65e571bc-158a59e8-b63f98cd471c [info] hello,world
Use context.logger to print logs
Si configura la concurrencia de instancia de la función con un valor mayor que 1, una sola instancia procesará varias solicitudes al mismo tiempo. En este caso, se recomienda usar context.logger para imprimir registros. Así podrá distinguir los registros de cada solicitud concurrente mediante el ID de solicitud. Registro de ejemplo:
2024-03-04 07:01:16.927 1-65e571bc-158a59e8-b63f98cd471c [[object Object]] hello,fc
Niveles de gravedad personalizados para los registros
Los niveles de gravedad personalizados solo son compatibles con los entornos de ejecución Nodejs18 y Nodejs20.
Personalice los niveles de gravedad de los registros mediante la variable de entorno ALIYUN_FC_LOG_LEVEL. Los niveles personalizados, ordenados de menor a mayor gravedad, son: debug, info, warn y error. El nivel debug tiene la gravedad más baja y error, la más alta.
Solo se imprimen los registros cuyo nivel de gravedad sea igual o superior al definido en ALIYUN_FC_LOG_LEVEL.
Por ejemplo, si configura ALIYUN_FC_LOG_LEVEL=warn, únicamente se imprimirán los registros con un nivel igual o superior a warn. De forma predeterminada, los registros que genera console.log tienen nivel info, el cual es inferior a warn. Por lo tanto, los registros de nivel info no se imprimirán. Los registros generados con process.stdout.write() no se ven afectados por esta variable de entorno.
Procedimiento
Cree un directorio de código para pruebas, por ejemplo,
mycode.-
Cree el archivo de código
index.jsen el directoriocodey guarde el siguiente código de ejemplo enindex.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'); } Inicie sesión en la consola de Function Compute. Cree una función y seleccione Event Function. Elija Node.js 18 o Node.js 20 como entorno de ejecución y Upload Folder como método para cargar el código. Para obtener más información, consulte Create an event-triggered function.
En la página de detalles de la función, haga clic en la pestaña Configurations. En el panel de navegación izquierdo, haga clic en Environment Variables. En la sección Environment Variables, haga clic en Modify.
Si configuró
ALIYUN_FC_LOG_LEVEL=warn, se imprimirán los siguientes registros después de hacer clic en 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
Consultar registros
Una vez ejecutada la función, consulte los registros en la pestaña Logs. Para obtener más información, consulte View invocation logs.