javascript抽象控制台日志记录

Bar*_*rry 9 javascript logging abstraction

我想做一个像这样的功能.

例如:

function Logger() {
    this.log = function(msg) {
        console.log(msg);
    }
}
Run Code Online (Sandbox Code Playgroud)

我想在功能/模块等中使用它,一切正常.但是浏览器中的默认控制台通常会给出fileName + lineNumber.

现在,当我抽象此功能,fileName而lineNumber不是在这里我把我的instance.log().因为它会说调用console.log的地方,而不是函数本身.

所以我的问题:

如何从我想要使用记录器的位置获取正确的信息?或者,请给我任何改进此功能的提示.

pim*_*vdb 16

function Logger() {
    this.log = console.log.bind(console);
}
Run Code Online (Sandbox Code Playgroud)

我前段时间问过这个问题:在Chrome中创建console.log()的快捷方式.