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

Send Aurelia Error logs to server and notify the user

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

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

import {LogManager} from 'aurelia-framework'; 在 main.js,

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

您需要编写一个自定义记录器来执行您想要的操作。这很简单。只需使用 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 LogManager 只需 Ctrl-F。

here 就是一个很好的例子。除了 LogManager 之外,您还必须有自己的自定义 class。