【发布时间】:2021-03-26 21:00:35
【问题描述】:
我有一个 Angular 项目版本 10.0.2 我想将开发人员控制台上的所有错误记录到弹性搜索。 当我在全局错误处理程序上发现错误时,我的处理程序内部是这样的。
export class GlobalErrorHandlerService extends ErrorHandler {
constructor(private log: LogService) {
super();
}
handleError(error: any) {
var client = new Client();
if (error instanceof HttpErrorResponse) {
this.log.level = LogLevel.Error;
this.log.error("API/Back-End Proccess request error " + JSON.stringify(error), JSON.stringify(error));
}
else {
this.log.level = LogLevel.Warn;
this.log.warn("Client side error " + JSON.stringify(error), JSON.stringify(error));
}
this.log.publishers.push(error);
}
}
LogService 是我的自定义日志服务。但我可以改变它来捕捉错误 我像这样发送弹性。
entry: 包含错误信息
log(entry: LogEntry): Observable<boolean> {
var headers = new HttpHeaders();
const date = moment();
let body = {
"@timestamp": date,
"index": "clientapplication",
"body": {
"entry": entry,
"date": date
},
"user": {
"fullname": "ahmetu",
"userrecordno": "190909"
}
}
headers.append('Content-Type', 'application/json');
headers.append('Accept', 'application/json');
return this.hbhttp.post(`${this.location}/hbizclient/_doc`, body, headers)
}
我在log.elastic.ts 做了这个操作
我写了一个自定义的日志记录操作。我的文件夹结构如下
实际上我可以记录所有错误,但我只是想学习。我如何使用 Elasticsearch 自己的 npm 包然后将所有错误从角度发送到弹性然后我可以在 kibana 上看到所有这些
感谢您的建议
【问题讨论】:
标签: javascript angular elasticsearch logging error-handling