访问console.log.bind()的参数

时间:2018-01-23 09:37:03

标签: javascript typescript

我想实现一个日志服务,它为日志消息添加前缀,保留原始行号并对消息执行一些其他操作。我将返回console.error.bind以保留原始行号。

get error() {
    // additional stuff
    return console.error.bind(console, "[ERROR]");
}

记录内容:

logService.error("message");

有没有办法在getter函数中访问错误消息? arguments.length始终为0.

3 个答案:

答案 0 :(得分:1)

也许这将是一个起点?

let err = console.error
console.error = function(s){err("prefixed " + s)}

console.error("Error Message")

答案 1 :(得分:0)



function logService(){
   this.error = function(message) {
       throw new Error(message);
   }

}

let test = new logService()
test.error('to your computer');




像这样创建一个包装器

答案 2 :(得分:0)

  

有没有办法在getter函数中访问错误消息?

没有。在调用方法(由getter返回的函数)并以错误消息作为参数调用方法之前,getter会在访问属性时运行。