2015-08-15 25 views
0

有沒有一種在節點中設置事件的好方法來監視何時寫入控制檯?我希望像控制檯一樣的東西,並作出相應的反應,如果一個特定的消息寫入它。除了創建一個包裝console.log的函數並且包裝函數執行我需要的操作之外,還有更好的方法嗎? 有什麼比這更好的?這是不是所有的可行的,而且它會是更容易只聽一個onConsole事件監聽寫入控制檯的消息node.js

function logWrapper(msg,fn){ 
    console.log(msg) 
    fn(); 
} 

回答

1

我沒有看到任何事件都在the API documentation for console,這讓我吃驚是真實的。

如果這是用於您自己的代碼,則需要使用包裝函數。

如果您還需要監聽從其他代碼的消息,你可以嘗試更換log

var realLog = console.log; 
console.log = function() { 
    // ...your code... 

    // Pass off to the real one 
    return realLog.apply(console, arguments); 
}; 

...但我會避免,如果你能合理。

+0

嗨Crowder ..我很想知道爲什麼避免這種手錶是好的。爲了更多觀衆的優勢,你可以寫一行或兩行。 –

+1

@EshwarPrasadYaddanapudi:主要是因爲它涉及修改我們的代碼不擁有的對象('console')。儘可能遠離某些東西。 –