我在我的项目中使用Angular2-logger。
"{Timestamp:HH:mm:ss} [{Level:u3}] {Message}{NewLine}{Exception}"
输出打印在控制台中,如下图
Angular2-logger 或替代类中是否有任何选项可用于显示文件名和行号的位置我&# 39; m调用 logger 方法? (与import { Logger } from "angular2-logger/core";
...
logger: Logger;
...
logger.info('<log string>')
相同,如图像波纹管)
有没有解决方案?
答案 0 :(得分:4)
我建议您 not
use
logger libraries
,原因有两个
当我们记录前端的错误(即浏览器环境)时,您可以制作自定义记录器服务。
关于您提到的问题,您可以根据您需要的环境,通过 usevalue
覆盖服务,使用空类/函数来关闭日志。
答案 1 :(得分:1)
我通过这种方式找到了解决方案:
1-我创建了LoggerService
。
2-我将服务导入app.module.ts
并将其用作提供者。
3- LoggerService
看起来像这样:
import { Injectable } from '@angular/core';
@Injectable()
export class LoggerService {
public error(message) {
try { throw new Error(); } catch (e) {
console.log(e.stack);
const stackTraces = e.stack.split('at');
const fileList = stackTraces[2].substr(
stackTraces[2].lastIndexOf('/src'),
stackTraces[2].length - 1 ).replace(')', ''
);
const functionName = stackTraces[2].substr(0, stackTraces[2].indexOf('(') - 1);
// Do whatever you want, use console.log or angular2-logger service
console.log(message);
}
}
}
答案 2 :(得分:0)