summaryrefslogtreecommitdiff
path: root/shared/metrics-8/src/recorder/logging.ts
blob: baa037321394c960863e9f6d72bd627ede951b25 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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;
    }
}