نحوه بهبود خاطرات شبیه ساز Firebase

کاملاً ، سر و صدا را برداشته و شبیه سازهای Firebase را بهبود بخشید.
من یک طرفدار بزرگ Firebase هستم و به طور گسترده ای از شبیه ساز توسعه محلی با API خود برای رسانه های اجتماعی استفاده می کنم. بسیاری از ویژگی های عالی شبیه ساز وجود دارد ، مانند شبیه سازی ویژگی های ابر ، Firestore و حتی Pub/Sub. اگر با استفاده از ثبت نام های JSON در کنسول نمایش می دهید console.logخروجی قابل تحمل است ، به خصوص اگر با آن قالب بندی کنید JSON.stringify({...}, null, "\t")با این حال ، هنگام استفاده از ثبت کننده توصیه شده Firebase ، همه چیز در حال ظهور است. Logger در اصل Google Cloud Logger است ، که به شما امکان می دهد خاطرات و JSON خود را ساختار دهید تا بتوانید به راحتی در داشبورد مدیریت Google Cloud مشاهده و جستجو شوند.
در حالی که خروجی Firebase Logger در داشبورد مدیریت Google Cloud بسیار عالی به نظر می رسد ، چیزی در خروجی ترمینال ما خیلی خوب به نظر نمی رسد:
سیاهههای مربوط به شبیه ساز Firebase را بهبود بخشید
ما با سیاهههای مربوط به شبیه ساز Firebase چه می خواهیم؟
- قالب بندی اشیاء JSON با استفاده از آرم ها.
- خروجی رنگ ، بنابراین ما می توانیم بر اشتباهات تأکید کنیم.
- داده های خارجی را که ممکن است به آنها علاقه مند نباشیم ، حذف کنید ، مانند “توابع: شما عملیات را در حالت اصلاح خطا انجام می دهید (پورت = 9229). این بدان معنی است که توابع به صورت توالی انجام می شوند ، نه به طور موازی.”
از آنجا که Firebase هنوز “این فرصت ها را فراهم نمی کند ، بیایید پیشرفت های خودمان را ایجاد کنیم.
ما خروجی شبیه ساز Firebase را در یک پرونده ذخیره خواهیم کرد ، فایل را برای تغییرات نظارت می کنیم ، تغییرات (قالب و غیره) را پردازش می کنیم و داده های پردازش شده را در کنسول نمایش می دهیم.
- ذخیره سازی GitHub GitHub-Emulator-Emulator-Logging. این node.js. برنامه کاربردی است. معمولی را کامل کنید
npm installدر فهرست کلون. - شبیه ساز Firebase را همانطور که معمولاً انجام می دهید و خروجی را شروع کنید. به عنوان مثال:
firebase emulators:start > save.txtیاnpm run serve > save.txtحرف - بازگشت به فهرست کلون شده ، گره برنامه را با راه اندازی کنید
node index.js --file {file location}به عنوان مثال:node index.js --file ./save.txt - از خاطرات جدید لذت ببرید!

پارامترهای خاطرات بهبود یافته
گزینه های مختلفی در هنگام راه اندازی برنامه Knot وجود دارد. شما قبلاً دیده اید ، اما می توانید خروجی آرام را نیز تنظیم کنید ، به این معنی که خروجی سیستم با “عملکرد” یا “میزبانی” سرکوب می شود و می توانید قالب بندی زیادی را خاموش کنید.
| پارامتر | شرح | الزام |
| فیلی | پرونده ورود به سیستم سیاههها | بله |
| بایت | سرکوب ثبت نام سیستم مانند “عملکرد” ، “میزبانی” ، “ذخیره سازی” و “pubsub” | هیچ |
| -خدر | بسیاری از اشیاء JSON را با قالب بندی خاموش کنید. پیش فرض: درست است | هیچ |
پشت صحنه
اگر می خواهید کل کد را ببینید ، روی GitHub یا در اینجا پرونده index.js تمرکز کنید:
import readline from "readline";
import TailFile from "@logdna/tail-file";
import colorizer from "json-colorizer";
const QUIET_STRING = ["functions", "hosting", "storage", "pubsub"];
const quiet = process.argv.indexOf("--quiet");
const prettyOff = process.argv.indexOf("--pretty-off");
const fileIndex = process.argv.indexOf("--file");
if (fileIndex {
console.error("TailFile had an error!", err);
}
);
try {
await tail.start();
const linesplitter = readline.createInterface({
input: tail,
});
linesplitter.on("line", (line) => {
if (
quiet &&
QUIET_STRING.some((str) =>
new RegExp(`(?") && newLine.endsWith("}")) {
const overrideOptions = { ...options };
try {
const json = JSON.parse(newLine.slice(3));
switch (json?.severity) {
case "INFO":
overrideOptions.colors.STRING_KEY = "blue";
overrideOptions.colors.BRACE = "blue";
break;
case "WARNING":
overrideOptions.colors.STRING_KEY = "yellow";
overrideOptions.colors.BRACE = "yellow";
break;
case "ERROR":
overrideOptions.colors.STRING_KEY = "red";
overrideOptions.colors.BRACE = "red";
break;
default:
break;
}
newLine = colorizer(newLine.slice(3), overrideOptions);
} catch (err) {
// ignore
}
}
console.log(newLine);
});
} catch (err) {
console.error("Cannot start. Does the file exist?", err);
}
}
startTail().catch((err) => {
process.nextTick(() => {
throw err;
});
});
دو بسته NPM خارجی استفاده می شود: import TailFile from "@logdna/tail-file";
import colorizer from "json-colorizer";
غرب دم یک بسته عالی است که به “صف” پرونده ها اجازه می دهد-هر بار چیزی تغییر می کند ، یک رویداد اتفاق می افتد. Json Colorizer بسته ای است که به شما امکان می دهد نشان دهید که موارد JSON کمی رنگ می گیرند.
برای iirshare
Ayrshare یک API برای رسانه های اجتماعی است که به شما امکان می دهد انتشارات را ارسال کنید ، تجزیه و تحلیل دریافت کنید ، نظرات را مدیریت کنید و پیام های مستقیم را به طور مستقیم به شبکه های اجتماعی از سیستم عامل خود ارسال کنید. در اسناد API ما در رسانه های اجتماعی بیشتر بدانید.




