2014-02-19 73 views
0

我工作的一個節點應用程序的那一刻,和我包括一個模塊具有util.debug的負載()和來自util module的util.log()消息圍繞在它周圍。我想壓制這些方法的CLI輸出,而不會攻擊contrib模塊本身 - 有沒有簡單的方法來做到這一點?抑制的Node.js util.debug(),util.log()等輸出

我相信這些方法寫入標準錯誤,但我不希望禁止所有錯誤消息,只是那些特定的人。任何幫助表示讚賞!

+0

你使用什麼模塊?我強烈建議與作者聯繫,刪除這些內容(可能會附帶一個可以將它們刪除的補丁)。另外,檢查一個詳細標誌,默認應該不會是冗長的。 – jeremy

+0

這個:https://github.com/rollbar/node_rollbar(特別是在lib/api.js) - 我之前已經和作者說過了,所以我可能會建議/請求它,但我只是好奇而已在已經被要求/初始化之後,是否有一種方法可以覆蓋util的輸出... –

回答

1

在簡要回顧node_rollbar的代碼,它似乎並不像它有一個冗長的設置,除非是使用util模塊,我不知道的東西配置。它看起來好像除了1以外的所有情況都只適用於基於錯誤的情況。

我同意聯繫作者或更好的提交與適當的解決方案將是最好的拉請求。然而,一種並不是好主意的方法是利用像rewire這樣的依賴注入模塊來覆蓋node_rollbar模塊中util的使用。

+0

我無法想象會有很多回應這個問題,所以現在至少我會接受你的回答(謝謝!)。 rewire模塊看起來很有趣,+1,雖然它仍然是一個相當不方便的方法。順便說一句,在運行節點js應用程序時,你知道任何抑制stderr輸出的方法嗎? –

+0

不是特別的,儘管我知道forever模塊可以讓你分別輸出stdout和stderr。我想說stdout也可能包含stderr,但我不記得。可能有一些日誌模塊可以解決這個問題,但我不確定。 –