Servicios de inyección Angular2 en ErrorHandler personalizado

Tengo el siguiente código :

app.module.ts:

NgModule({
    declarations: [
        AppComponent
    ],
    imports: [
        RouterModule,
        BrowserModule,
        ReactiveFormsModule,
        FormsModule,
        HttpModule,
        AppRoutingModule // Routes
    ],
    providers: [ // services
        AppLog,
        {provide: ErrorHandler, useClass: MyErrorHandler}
    ],
    bootstrap: [AppComponent]
})
export class AppModule {}

MyErrorHandler.ts:

@Injectable()
export class MyErrorHandler implements ErrorHandler {
  constructor (private _appLog: AppLog) {}

  handleError(error:any):void {
    let errorMessage: string = "" + error
    this._appLog.logMessageAsJson(errorMessage, "error")
            .subscribe(
              ...
            )
  }
}

appLog.ts

@Injectable()
export class AppLog {
    constructor (private _http: Http) {}

    logMessageAsJson(message: string, type: string) {
        let headers = new Headers({ "Content-Type": "application/json" })
        let jsonMessage = {"type": type, "message": message}

        return this._http.post(JSON.stringify(jsonMessage), headers)
    }
}

Sin embargo, cuando mi aplicación arranca, falla si tengo una inyección enMyErrorHandler con el siguiente error:

Unhandled Promise rejection: Provider parse errors:
Cannot instantiate cyclic dependency!

Si eliminoconstructor (private _appLog: AppLog) {} y luego hacer algo más enhandleError funciona bien y se llama ErrorHandler.

Supongo que no funciona ya que AppLog y MyErrorHandler se instancian al mismo tiempo

Respuestas a la pregunta(1)

Su respuesta a la pregunta