Я использую Angular 6
и rollbar
для регистрации ошибок.
Я создал файл rollbar-service
со следующим содержимым
import {Injectable, InjectionToken, Injector} from '@angular/core';
import * as Rollbar from 'rollbar';
import {AuthUserData} from '../auth/auth.model';
import {AuthService} from '../auth/auth.service';
const rollbarConfig = {
accessToken: 'ACCESS_TOKEN',
captureUncaught: true,
captureUnhandledRejections: true,
};
@Injectable()
export class RollbarErrorHandlerService {
constructor(
private injector: Injector,
private auth: AuthService
) {
// Add auth user data to the configuration
const userData: AuthUserData = this.auth.getAuthUser();
// Add userData to rollbar payload
}
post(error) {
const rollbar = this.injector.get(RollbarService);
rollbar.error(error);
}
}
export function rollbarFactory() {
return new Rollbar(rollbarConfig);
}
export const RollbarService = new InjectionToken<Rollbar>('rollbar');
Я определил rollbarConfig поверх инициализации класса.
В документации говорится о добавлении полезной нагрузки, такой как
app.config(function(RollbarProvider) {
RollbarProvider.init({
accessToken: "YOUR_ACCESS_TOKEN",
captureUncaught: true,
payload: {
// payload here
}
});
});
Но где поместить этот фрагмент кода, так как app
вызывает ошибку вкласс?
Я должен установить userData в полезной нагрузке Rollbar.