[英]Logging in node.js to a file, without another module
我正在將節點應用程序作為守護程序運行。 在調試守護程序時,我需要查看輸出,因此我想將stdout和stderr重定向到文件。
我希望我可以像在Python或C中那樣重新分配stdout
和stderr
:
fs = require('fs');
process.stdout = fs.openSync('/var/log/foo', 'w');
process.stderr = process.stdout;
console.log('hello');
當我直接運行腳本時,“ hello”將打印到控制台! 當然,當我在后台運行時,在控制台(當然)或/var/log/foo
都看不到輸出。
我不需要或不需要復雜的日志記錄。 我只需要查看節點已經提供的內置消息。
console
對象在首次創建時會獲取對process.stdout
和stderr
的引用。
(您可以在源代碼中看到它)。
以后重新分配它們不會影響console
。
重定向這些流的通常方法是使用重定向的流啟動進程。
另外,您可以覆蓋console
方法並使它們寫入文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.