Herald log

A Herald vendor that prints every call as a readable record, for debug builds:

[herald] event   checkout_started
    ├─ plan  = pro
    └─ seats = 3
[herald] prop    total_purchases = 2
[herald] reset
final AnalyticsLogger logger = debugPrint;
final logTracker = LogAnalyticsTrackerService(
  eventTrackerFactory: CompositeLogEventTrackerFactory([
    ScreenViewLogEventTrackerFactory(logger),
    GenericLogEventTrackerFactory(logger),
  ]),
  propertySetterFactory: CompositeLogPropertySetterFactory([
    GenericLogPropertySetterFactory(logger),
  ]),
);
final logService = LogAnalyticsService(logger);

final herald = Herald(
  providers: [
    if (kDebugMode)
      HeraldProvider(
        name: 'log',
        events: logTracker,
        properties: logTracker,
        identity: logService,
        lifecycle: logService,
        consent: logService,
      ),
  ],
);

The user id is printed as-is, so register this provider in debug builds only.

Documentation

It works with herald, the core, whose page lists every Herald package. The Herald website has the guides, and the repository has an example app.

Libraries

herald_log
A Herald vendor that prints every call, for debug builds.