2015-08-15 48 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')。尽可能远离某些东西。 –