Você pode escrever entradas de registro personalizadas do a partir de seus scripts de shell MongoDB . As entradas de registro personalizadas ajudam na depuração e no tratamento de erros e alerta quando o script executa funções específicas.
Sobre esta tarefa
O shell do MongoDB suporta os seguintes métodos para entradas de registro personalizadas:
log.debug()log.error()log.fatal()log.info()log.warn()
Passos
Crie um script que grava uma entrada de registro personalizada
O script a seguir insere documentos na coleção movies e grava uma entrada de registro de info personalizada. Se o script falhar, ele gravará uma entrada de registro error personalizada.
// 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 }); }
Salve o roteiro como connect-and-insert-with-log-entry.js.
Execute o script
Para executar o script connect-and-insert-with-log-entry.js, use mongosh para se conectar à sua implantação e execute o seguinte comando no MongoDB shell:
load("connect-and-insert-with-log-entry.js")
Como alternativa, você pode executar o script programaticamente usando a opção --file ao iniciar o mongosh:
mongosh --file connect-and-insert-with-log-entry.js
Resultados
A entrada de registro personalizada aparece nos registros da sua sessão:
{"t":{"$date":"2025-02-25T18:04:01.690Z"},"s":"I","c":"MONGOSH-SCRIPTS","id":1000000054,"ctx":"custom-log","msg":"InsertData: Inserted 3 movies"}
Para obter mais informações sobre sessões de registro e como recuperar mensagens de registro, consulte Visualizar registros de shell.
Para verificar se o script inseriu os documentos, consulte a coleção movies:
use myDatabase db.movies.find()
Saída:
[ { _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' ] } ]