将 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。
我想知道如何访问 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。