নোডেজ এবং মংডব ব্যবহার করে আমার কাছে অ্যাপ্লিকেশন রয়েছে। আমি ওডিএম এর জন্য মঙ্গুজ ব্যবহার করেছি। এখন আমি সমস্ত অ্যাপ্লিকেশন চলাকালীন যে প্রশ্নগুলিতে আগুন লাগায় তা লগ করতে চাই।
এই লগ কিভাবে?
উত্তর:
আপনি এর মতো ডিবাগ মোড সক্ষম করতে পারেন:
mongoose.set('debug', true);
বা আপনার নিজস্ব ডিবাগ কলব্যাক যোগ করুন:
mongoose.set('debug', function (coll, method, query, doc [, options]) {
//do your thing
});
এটি কনসোলে সমস্ত সম্পাদিত সংগ্রহের পদ্ধতি এবং তাদের তর্কগুলি লগ করবে will
আমি নোড বুনিয়ান ব্যবহার করছি, এটি ডিবাগ এবং অনুসন্ধানগুলি ট্র্যাক করার বিকল্প (অন্য কাউকে সহায়তা করতে পারে)
function serializer(data) {
let query = JSON.stringify(data.query);
let options = JSON.stringify(data.options || {});
return `db.${data.coll}.${data.method}(${query}, ${options});`;
}
let log = bunyan.createLogger({
name: 'AppName',
src: false,
serializers: {
// ...
dbQuery: querySerializer
// ...
},
// ...
});
mongoose.set('debug', function(coll, method, query, doc, options) {
let set = {
coll: coll,
method: method,
query: query,
doc: doc,
options: options
};
log.info({
dbQuery: set
});
});
আপনি নিম্নলিখিত ফর্ম্যাটটি ব্যবহার করতে পারেন:
mongoose.set("debug", (collectionName, method, query, doc) => {
console.log(`${collectionName}.${method}`, JSON.stringify(query), doc);
});
বা আপনার পছন্দের অন্য কোনও লগার:
mongoose.set("debug", (collectionName, method, query, doc) => {
logger(`${collectionName}.${method}`, JSON.stringify(query), doc);
});
log(` CPU: ${chalk.red('90%')} RAM: ${chalk.green('40%')} DISK: ${chalk.yellow('70%')} `);