在angular2制作了我自己的记录器

时间:2016-06-17 07:20:32

标签: javascript typescript angular ecmascript-6 angular-services

我已经写过记录器服务,但是我有一个我无法理解的错误。

以下是代码的一部分:

casper

错误: 的 casper

主要思想是弃用默认控制台方法

1 个答案:

答案 0 :(得分:2)

直接调用此类console.log不起作用。您可以尝试像这样调用它:

import { Injectable } from "@angular/core";
@Injectable()
export class LoggerService {
    private _log: Function;

    constructor() {
        this._log   = console.log;

        this.blockDefaultConsoleMethods();
    }

    public log(...args) {
        Function.prototype.apply.call(this._log, console, args); // <--- change here
    }

    private blockDefaultConsoleMethods() {
        console.log = console.info = console.warn = console.error = () => null;
    }
}
  

使用this link作为示例用法