Aller au contenu
English

createCustomReporter

import { createCustomReporter } from "@elie-laloum/outpost";

Crée un callback observe qui transmet chaque observation d’agent au handler de son kind. Les handlers s’exécutent un par un sur une file bornée sans bloquer le dispatch ; flush() les attend et rejette avec le premier échec d’un handler. L’appelant possède les fichiers ou loggers qu’utilisent les handlers.

Exemple complet et règles détaillées.

  • handlersRequis
    ReporterHandlers
    Handlers par type d’événement agent, exécutés un à un dans l’ordre d’arrivée ; les types sans handler sont ignorés.
  • optionsOptionnel
    CustomReporterOptions | undefined
    Diagnostic des erreurs du reporter personnalisé ; aucun affichage terminal ni prise de propriété des ressources.
  • options.capacityOptionnel
    number | undefined
    Maximum d’événements en attente dans le reporter, 1024 par défaut ; la saturation perd les nouvelles livraisons et fait rejeter flush.
  • options.deliveryTimeoutMsOptionnel
    number | undefined
    Attente maximale d’un gestionnaire asynchrone en millisecondes, 5000 par défaut ; le dépassement désactive les livraisons suivantes et fait rejeter flush.
  • options.onErrorOptionnel
    ((error: unknown, event: AgentObservation) => void | Promise<void>) | undefined
    Appelé pour chaque handler en échec avec son erreur et son événement ; les erreurs du diagnostic sont isolées et la première erreur reste accessible via flush().

CustomReporter

export declare function createCustomReporter(
  handlers: ReporterHandlers,
  options?: CustomReporterOptions,
): CustomReporter;