Puedes escribir personalizado Entradas de registro de sus scripts de MongoDB Shell. Las entradas de registro personalizadas facilitan la depuración y la gestión de errores, y le avisan cuando el script realiza funciones específicas.
Acerca de esta tarea
MongoDB Shell admite los siguientes métodos para entradas de registro personalizadas:
log.debug()log.error()log.fatal()log.info()log.warn()
Pasos
Crea un script que escribe una entrada de registro personalizada
El siguiente script inserta documentos en la colección movies y escribe una entrada de registro personalizada info. Si el script genera un error, escribe una entrada de registro personalizada error.
// connect-and-insert-with-log-entry.js try { db = connect( 'mongodb://localhost/myDatabase' ); db.movies.insertMany( [ { title: 'Titanic', year: 1997, genres: [ 'Drama', 'Romance' ] }, { title: 'Spirited Away', year: 2001, genres: [ 'Animation', 'Adventure', 'Family' ] }, { title: 'Casablanca', genres: [ 'Drama', 'Romance', 'War' ] } ] ) log.info('InsertData: Inserted 3 movies'); } catch (error) { log.error('Insert failed', { error: error.message }); }
Guarde el script como connect-and-insert-with-log-entry.js.
Ejecute el script
Para ejecutar el script connect-and-insert-with-log-entry.js, use mongosh para conectarse a su implementación y ejecute el siguiente comando dentro de MongoDB Shell:
load("connect-and-insert-with-log-entry.js")
Alternativamente, puede ejecutar el script programáticamente utilizando la opción --file cuando mongosh inicie:
mongosh --file connect-and-insert-with-log-entry.js
Resultados
La entrada de registro personalizada aparece en los registros de su sesión:
{"t":{"$date":"2025-02-25T18:04:01.690Z"},"s":"I","c":"MONGOSH-SCRIPTS","id":1000000054,"ctx":"custom-log","msg":"InsertData: Inserted 3 movies"}
Para obtener más información sobre sesiones de registro y cómo recuperar mensajes de registro, consulta Ver registros Shell.
Para verificar que el script insertó los documentos, consulte la colección movies:
use myDatabase db.movies.find()
Salida:
[ { _id: ObjectId('67bde8c2a527c6b1341979f2'), title: 'Titanic', year: 1997, genres: [ 'Drama', 'Romance' ] }, { _id: ObjectId('67bde8c2a527c6b1341979f3'), title: 'Spirited Away', year: 2001, genres: [ 'Animation', 'Adventure', 'Family' ] }, { _id: ObjectId('67bde8c2a527c6b1341979f4'), title: 'Casablanca', genres: [ 'Drama', 'Romance', 'War' ] } ]