UNPKG

@axiomhq/logging

Version:
1 lines 2.14 kB
{"version":3,"file":"axiom-js.cjs","sources":["../../../src/transports/axiom-js.ts"],"sourcesContent":["import { Axiom, AxiomWithoutBatching } from '@axiomhq/js';\nimport { LogLevel, LogLevelValue } from '../logger';\nimport { Transport } from './transport';\n\ninterface AxiomJSTransportConfig {\n axiom: Axiom | AxiomWithoutBatching;\n dataset: string;\n logLevel?: LogLevel;\n}\nexport class AxiomJSTransport implements Transport {\n private config: AxiomJSTransportConfig;\n private promises: Promise<any>[] = [];\n\n constructor(config: AxiomJSTransportConfig) {\n this.config = config;\n }\n\n log(logs: any[]) {\n const filteredLogs = logs.filter(\n (log) =>\n LogLevelValue[(log.level as LogLevel) ?? LogLevel.info] >= LogLevelValue[this.config.logLevel ?? LogLevel.info],\n );\n\n if (filteredLogs.length === 0) {\n return;\n }\n\n if (this.config.axiom instanceof Axiom) {\n this.config.axiom.ingest(this.config.dataset, filteredLogs);\n } else if (this.config.axiom instanceof AxiomWithoutBatching) {\n this.promises.push(this.config.axiom.ingest(this.config.dataset, filteredLogs));\n }\n }\n\n async flush() {\n if (this.config.axiom instanceof Axiom) {\n await this.config.axiom.flush();\n } else {\n await Promise.allSettled(this.promises);\n }\n this.promises = [];\n }\n}\n"],"names":["LogLevelValue","LogLevel","Axiom","AxiomWithoutBatching"],"mappings":";;;;;;;;;;AASO,MAAM,iBAAsC;AAAA,EAIjD,YAAY,QAAgC;AAHpC;AACA,oCAA2B,CAAA;AAGjC,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,IAAI,MAAa;AACf,UAAM,eAAe,KAAK;AAAA,MACxB,CAAC,QACCA,OAAe,cAAA,IAAI,SAAsBC,OAAAA,SAAS,IAAI,KAAKD,OAAAA,cAAc,KAAK,OAAO,YAAYC,OAAAA,SAAS,IAAI;AAAA,IAAA;AAG9G,QAAA,aAAa,WAAW,GAAG;AAC7B;AAAA,IACF;AAEI,QAAA,KAAK,OAAO,iBAAiBC,UAAO;AACtC,WAAK,OAAO,MAAM,OAAO,KAAK,OAAO,SAAS,YAAY;AAAA,IACjD,WAAA,KAAK,OAAO,iBAAiBC,GAAAA,sBAAsB;AACvD,WAAA,SAAS,KAAK,KAAK,OAAO,MAAM,OAAO,KAAK,OAAO,SAAS,YAAY,CAAC;AAAA,IAChF;AAAA,EACF;AAAA,EAEA,MAAM,QAAQ;AACR,QAAA,KAAK,OAAO,iBAAiBD,UAAO;AAChC,YAAA,KAAK,OAAO,MAAM,MAAM;AAAA,IAAA,OACzB;AACC,YAAA,QAAQ,WAAW,KAAK,QAAQ;AAAA,IACxC;AACA,SAAK,WAAW;EAClB;AACF;;"}