UNPKG

@axiomhq/logging

Version:
41 lines (40 loc) 1.48 kB
"use strict"; var __defProp = Object.defineProperty; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __publicField = (obj, key, value) => { __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); return value; }; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const js = require("@axiomhq/js"); const logger = require("../logger.cjs"); class AxiomJSTransport { constructor(config) { __publicField(this, "config"); __publicField(this, "promises", []); this.config = config; } log(logs) { const filteredLogs = logs.filter( (log) => logger.LogLevelValue[log.level ?? logger.LogLevel.info] >= logger.LogLevelValue[this.config.logLevel ?? logger.LogLevel.info] ); if (filteredLogs.length === 0) { return; } if (this.config.axiom instanceof js.Axiom) { this.config.axiom.ingest(this.config.dataset, filteredLogs); } else if (this.config.axiom instanceof js.AxiomWithoutBatching) { this.promises.push(this.config.axiom.ingest(this.config.dataset, filteredLogs)); } } async flush() { if (this.config.axiom instanceof js.Axiom) { await this.config.axiom.flush(); } else { await Promise.allSettled(this.promises); } this.promises = []; } } exports.AxiomJSTransport = AxiomJSTransport; //# sourceMappingURL=axiom-js.cjs.map