2016-06-13 75 views
1

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

到目前为止,我发现我可以从日志管理获取日志:在main.js

import {LogManager} from 'aurelia-framework';

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

回答

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的日志管理。

+0

我做了一个自定义Appender,但如何测试它是否工作。当我尝试产生一些错误时,它会碰到aurelia-pal.js,并且我在记录器中没有任何内容? 或者例如,如果某个请求出现错误,它会触发aurelia-fetch-client.js。 如何捕捉那种错误,并有可能为这些使用LogManager? –

+0

Hi @Ashley Grant。我有我的问题。我是Aurelia世界的新人。我在与main.ts相同的目录中创建了Logger.js(index.js的副本)。我尝试导入记录器:从'./logger.js'导入{CustomAppender};我得到错误:“无法找到模块”./logger“我做错了什么? – zchpit

+0

您可能不需要文件名末尾的.js。让我知道如果这有帮助 –

相关问题