将Aurelia错误日志发送到服务器并通知用户

时间:2016-06-13 13:28:29

标签: logging ecmascript-6 aurelia

我想知道如何访问Aurelia记录器,仅捕获错误并触发将该数据发送到某个服务器的函数。 此外,我必须触发警告框,通知用户发生了一些错误。 这需要适用于我的整个应用程序。

到目前为止,我发现我可以从LogManager获取日志:

main.js中的

import {LogManager} from 'aurelia-framework';

但我不知道如何访问它并创建一个将发送该错误数据的自定义记录器。 如果有人知道我可以在哪里找到有关该LogManager的更多信息以及如何与它进行交互,那么这也会有所帮助。 谢谢!

2 个答案:

答案 0 :(得分:5)

您需要编写自定义记录器才能执行您想要的操作。这很简单。只需使用ConsoleAppender作为起点:https://github.com/aurelia/logging-console/blob/master/src/index.js

然后你需要在启动时向Aurelia注册。这是通过以下代码完成的:

import {LogManager} from 'aurelia-framework';
import {CustomAppender} from './your-custom-code;

LogManager.addAppender(new CustomAppender());
LogManager.setLevel(LogManager.logLevel.debug);

export function configure(aurelia) {
  aurelia.use
    .defaultBindingLanguage()
    .defaultResources()
    .history()
    .router()
    .eventAggregator();

  aurelia.start().then(() => aurelia.setRoot('app', document.body));
}

这是在我们的文档中(虽然我们可以肯定地,我们可以改进搜索)这里:http://aurelia.io/docs.html#/aurelia/framework/1.0.0-beta.1.2.4/doc/article/cheat-sheet只需Ctrl-F for LogManager。

答案 1 :(得分:-1)

here是一个很好的例子。除了LogManager,还必须具有自定义类。