[英]node/npm - logging some stdout to file, some to console?
我的package.json
中有一個腳本,它運行 function 並記錄到 Z0ECD11Z4D7A287A2F14Z 文件。
package.json
"scripts": {
"generate": "lib/utils/foo.ts > lib/utils/accounts/bar.json"
}
lib/utils/foo.ts
const runFoo = async (): Promise<void> => {
const results = await otherFunction();
// does a bunch of stuff
// bunch of api calls and logging results using winston to the console
console.log(JSON.stringify(results));
};
runFoo();
這行得通。 這很棒。 但是,它會記錄 function 運行時執行的所有標准輸出,包括我所有的 winston 日志記錄。
我想要的只是將最終的console.log
記錄到bar.json
文件,並將我所有的其他 winston 日志記錄打印到終端。
那可能嗎?
由於您控制標准輸出 output,您應該知道哪一行是最后一行。 當您知道它時,您可以僅將其打印到標准輸出並將其重定向到文件(類似於您所做的)或將其打印到其他 stream 並僅重定向特定的 stream。
另一種方法,將尾隨最后一行。 例如
$ echo -e "first line\nsecond line" | tail -n -1
second line
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.