Files
apps.apple.com/shared/metrics-8/src/recorder/logging.ts
2025-11-04 05:03:50 +08:00

22 lines
725 B
TypeScript

import type { MetricsEventRecorder } from '@jet/engine';
import type { LintedMetricsEvent } from '@jet/environment/types/metrics';
import type { Opt } from '@jet/environment/types/optional';
import type { Logger, LoggerFactory } from '@amp/web-apps-logger';
export class LoggingEventRecorder implements MetricsEventRecorder {
private readonly log: Logger;
constructor(loggerFactory: LoggerFactory) {
this.log = loggerFactory.loggerFor('LoggingEventRecorder');
}
record(event: LintedMetricsEvent, topic: Opt<string>): void {
this.log.info('logged metrics event:', event, topic);
}
async flush(): Promise<number> {
this.log.info('flushed metrics');
return 0;
}
}