Angular 6: настройка Rollbar для добавления пользовательских данных в полезную нагрузку - PullRequest
0 голосов
/ 12 октября 2018

Я использую 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.

...