@loglayer/transport-opentelemetry 3.0.5 → 3.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,63 +1,81 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }// src/OpenTelemetryTransport.ts
2
- var _transport = require('@loglayer/transport');
3
- var _apilogs = require('@opentelemetry/api-logs');
1
+ //#region rolldown:runtime
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
10
+ key = keys[i];
11
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
12
+ get: ((k) => from[k]).bind(null, key),
13
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
14
+ });
15
+ }
16
+ return to;
17
+ };
18
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
19
+ value: mod,
20
+ enumerable: true
21
+ }) : target, mod));
4
22
 
5
- // src/utils.ts
23
+ //#endregion
24
+ let __loglayer_transport = require("@loglayer/transport");
25
+ __loglayer_transport = __toESM(__loglayer_transport);
26
+ let __opentelemetry_api_logs = require("@opentelemetry/api-logs");
27
+ __opentelemetry_api_logs = __toESM(__opentelemetry_api_logs);
6
28
 
7
- var logLayerLevels = {
8
- fatal: _apilogs.SeverityNumber.FATAL,
9
- error: _apilogs.SeverityNumber.ERROR,
10
- warn: _apilogs.SeverityNumber.WARN,
11
- info: _apilogs.SeverityNumber.INFO,
12
- debug: _apilogs.SeverityNumber.DEBUG,
13
- trace: _apilogs.SeverityNumber.TRACE
29
+ //#region src/utils.ts
30
+ const logLayerLevels = {
31
+ fatal: __opentelemetry_api_logs.SeverityNumber.FATAL,
32
+ error: __opentelemetry_api_logs.SeverityNumber.ERROR,
33
+ warn: __opentelemetry_api_logs.SeverityNumber.WARN,
34
+ info: __opentelemetry_api_logs.SeverityNumber.INFO,
35
+ debug: __opentelemetry_api_logs.SeverityNumber.DEBUG,
36
+ trace: __opentelemetry_api_logs.SeverityNumber.TRACE
14
37
  };
15
38
  function getSeverityNumber(level) {
16
- return _nullishCoalesce(logLayerLevels[level], () => ( _apilogs.SeverityNumber.TRACE));
39
+ return logLayerLevels[level] ?? __opentelemetry_api_logs.SeverityNumber.TRACE;
17
40
  }
18
41
  function emitLogRecord(record, logger) {
19
- const { message, level, ...splat } = record;
20
- const attributes = {};
21
- for (const key in splat) {
22
- if (Object.hasOwn(splat, key)) {
23
- attributes[key] = splat[key];
24
- }
25
- }
26
- const logRecord = {
27
- severityNumber: getSeverityNumber(level),
28
- severityText: level,
29
- body: message,
30
- attributes
31
- };
32
- logger.emit(logRecord);
42
+ const { message, level,...splat } = record;
43
+ const attributes = {};
44
+ for (const key in splat) if (Object.hasOwn(splat, key)) attributes[key] = splat[key];
45
+ const logRecord = {
46
+ severityNumber: getSeverityNumber(level),
47
+ severityText: level,
48
+ body: message,
49
+ attributes
50
+ };
51
+ logger.emit(logRecord);
33
52
  }
34
53
 
35
- // src/OpenTelemetryTransport.ts
36
- var OpenTelemetryTransport = class extends _transport.LoggerlessTransport {
37
-
38
-
39
- constructor(config = {}) {
40
- super(config);
41
- this._logger = _apilogs.logs.getLogger("loglayer");
42
- this.onError = config.onError;
43
- }
44
- shipToLogger({ logLevel, messages, data, hasData }) {
45
- const assembled = {
46
- level: logLevel,
47
- message: messages.join(" "),
48
- ...hasData ? data : {}
49
- };
50
- try {
51
- emitLogRecord(assembled, this._logger);
52
- } catch (error) {
53
- if (this.onError) {
54
- this.onError(error);
55
- }
56
- }
57
- return [assembled];
58
- }
54
+ //#endregion
55
+ //#region src/OpenTelemetryTransport.ts
56
+ var OpenTelemetryTransport = class extends __loglayer_transport.LoggerlessTransport {
57
+ _logger;
58
+ onError;
59
+ constructor(config = {}) {
60
+ super(config);
61
+ this._logger = __opentelemetry_api_logs.logs.getLogger("loglayer");
62
+ this.onError = config.onError;
63
+ }
64
+ shipToLogger({ logLevel, messages, data, hasData }) {
65
+ const assembled = {
66
+ level: logLevel,
67
+ message: messages.join(" "),
68
+ ...hasData ? data : {}
69
+ };
70
+ try {
71
+ emitLogRecord(assembled, this._logger);
72
+ } catch (error) {
73
+ if (this.onError) this.onError(error);
74
+ }
75
+ return [assembled];
76
+ }
59
77
  };
60
78
 
61
-
79
+ //#endregion
62
80
  exports.OpenTelemetryTransport = OpenTelemetryTransport;
63
81
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/loglayer/loglayer/packages/transports/opentelemetry/dist/index.cjs","../src/OpenTelemetryTransport.ts","../src/utils.ts"],"names":[],"mappings":"AAAA;ACAA,gDAAkG;AAClG,kDAAkC;ADElC;AACA;AEAA;AAEA,IAAM,eAAA,EAAyC;AAAA,EAC7C,KAAA,EAAO,uBAAA,CAAe,KAAA;AAAA,EACtB,KAAA,EAAO,uBAAA,CAAe,KAAA;AAAA,EACtB,IAAA,EAAM,uBAAA,CAAe,IAAA;AAAA,EACrB,IAAA,EAAM,uBAAA,CAAe,IAAA;AAAA,EACrB,KAAA,EAAO,uBAAA,CAAe,KAAA;AAAA,EACtB,KAAA,EAAO,uBAAA,CAAe;AACxB,CAAA;AAEA,SAAS,iBAAA,CAAkB,KAAA,EAA+B;AACxD,EAAA,wBAAO,cAAA,CAAe,KAAK,CAAA,UAAK,uBAAA,CAAe,OAAA;AACjD;AAEO,SAAS,aAAA,CAAc,MAAA,EAA6B,MAAA,EAAsB;AAC/E,EAAA,MAAM,EAAE,OAAA,EAAS,KAAA,EAAO,GAAG,MAAM,EAAA,EAAI,MAAA;AACrC,EAAA,MAAM,WAAA,EAA4B,CAAC,CAAA;AACnC,EAAA,IAAA,CAAA,MAAW,IAAA,GAAO,KAAA,EAAO;AACvB,IAAA,GAAA,CAAI,MAAA,CAAO,MAAA,CAAO,KAAA,EAAO,GAAG,CAAA,EAAG;AAC7B,MAAA,UAAA,CAAW,GAAG,EAAA,EAAI,KAAA,CAAM,GAAG,CAAA;AAAA,IAC7B;AAAA,EACF;AACA,EAAA,MAAM,UAAA,EAAuB;AAAA,IAC3B,cAAA,EAAgB,iBAAA,CAAkB,KAAK,CAAA;AAAA,IACvC,YAAA,EAAc,KAAA;AAAA,IACd,IAAA,EAAM,OAAA;AAAA,IACN;AAAA,EACF,CAAA;AACA,EAAA,MAAA,CAAO,IAAA,CAAK,SAAS,CAAA;AACvB;AFDA;AACA;ACvBO,IAAM,uBAAA,EAAN,MAAA,QAAqC,+BAAoB;AAAA,EACtD;AAAA,EACA;AAAA,EAER,WAAA,CAAY,OAAA,EAAuC,CAAC,CAAA,EAAG;AACrD,IAAA,KAAA,CAAM,MAAM,CAAA;AACZ,IAAA,IAAA,CAAK,QAAA,EAAU,aAAA,CAAK,SAAA,CAAU,UAAU,CAAA;AACxC,IAAA,IAAA,CAAK,QAAA,EAAU,MAAA,CAAO,OAAA;AAAA,EACxB;AAAA,EAEA,YAAA,CAAa,EAAE,QAAA,EAAU,QAAA,EAAU,IAAA,EAAM,QAAQ,CAAA,EAA4B;AAC3E,IAAA,MAAM,UAAA,EAAY;AAAA,MAChB,KAAA,EAAO,QAAA;AAAA,MACP,OAAA,EAAS,QAAA,CAAS,IAAA,CAAK,GAAG,CAAA;AAAA,MAC1B,GAAI,QAAA,EAAU,KAAA,EAAO,CAAC;AAAA,IACxB,CAAA;AAEA,IAAA,IAAI;AACF,MAAA,aAAA,CAAc,SAAA,EAAW,IAAA,CAAK,OAAO,CAAA;AAAA,IACvC,EAAA,MAAA,CAAS,KAAA,EAAY;AACnB,MAAA,GAAA,CAAI,IAAA,CAAK,OAAA,EAAS;AAChB,QAAA,IAAA,CAAK,OAAA,CAAQ,KAAK,CAAA;AAAA,MACpB;AAAA,IACF;AAEA,IAAA,OAAO,CAAC,SAAS,CAAA;AAAA,EACnB;AACF,CAAA;ADqBA;AACE;AACF,wDAAC","file":"/home/runner/work/loglayer/loglayer/packages/transports/opentelemetry/dist/index.cjs","sourcesContent":[null,"import { LoggerlessTransport, type LoggerlessTransportConfig, type LogLayerTransportParams } from \"@loglayer/transport\";\nimport { type Logger, logs } from \"@opentelemetry/api-logs\";\nimport { emitLogRecord } from \"./utils.js\";\n\nexport interface OpenTelemetryTransportConfig extends LoggerlessTransportConfig {\n /**\n * Callback to handle errors that occur when logging\n */\n onError?: (error: any) => void;\n}\n\nexport class OpenTelemetryTransport extends LoggerlessTransport {\n private _logger: Logger;\n private onError?: (error: any) => void;\n\n constructor(config: OpenTelemetryTransportConfig = {}) {\n super(config);\n this._logger = logs.getLogger(\"loglayer\");\n this.onError = config.onError;\n }\n\n shipToLogger({ logLevel, messages, data, hasData }: LogLayerTransportParams) {\n const assembled = {\n level: logLevel,\n message: messages.join(\" \"),\n ...(hasData ? data : {}),\n };\n\n try {\n emitLogRecord(assembled, this._logger);\n } catch (error: any) {\n if (this.onError) {\n this.onError(error);\n }\n }\n\n return [assembled];\n }\n}\n","// This code is adapted from:\n// https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/packages/winston-transport/src/OpenTelemetryTransportV3.ts\n// Which is Copyright The OpenTelemetry Authors and licensed under the Apache License, Version 2.0.\n\nimport { type LogAttributes, type Logger, type LogRecord, SeverityNumber } from \"@opentelemetry/api-logs\";\n\nconst logLayerLevels: Record<string, number> = {\n fatal: SeverityNumber.FATAL,\n error: SeverityNumber.ERROR,\n warn: SeverityNumber.WARN,\n info: SeverityNumber.INFO,\n debug: SeverityNumber.DEBUG,\n trace: SeverityNumber.TRACE,\n};\n\nfunction getSeverityNumber(level: string): SeverityNumber {\n return logLayerLevels[level] ?? SeverityNumber.TRACE;\n}\n\nexport function emitLogRecord(record: Record<string, any>, logger: Logger): void {\n const { message, level, ...splat } = record;\n const attributes: LogAttributes = {};\n for (const key in splat) {\n if (Object.hasOwn(splat, key)) {\n attributes[key] = splat[key];\n }\n }\n const logRecord: LogRecord = {\n severityNumber: getSeverityNumber(level),\n severityText: level,\n body: message,\n attributes: attributes,\n };\n logger.emit(logRecord);\n}\n"]}
1
+ {"version":3,"file":"index.cjs","names":["logLayerLevels: Record<string, number>","SeverityNumber","attributes: LogAttributes","logRecord: LogRecord","LoggerlessTransport","logs","error: any"],"sources":["../src/utils.ts","../src/OpenTelemetryTransport.ts"],"sourcesContent":["// This code is adapted from:\n// https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/packages/winston-transport/src/OpenTelemetryTransportV3.ts\n// Which is Copyright The OpenTelemetry Authors and licensed under the Apache License, Version 2.0.\n\nimport { type LogAttributes, type Logger, type LogRecord, SeverityNumber } from \"@opentelemetry/api-logs\";\n\nconst logLayerLevels: Record<string, number> = {\n fatal: SeverityNumber.FATAL,\n error: SeverityNumber.ERROR,\n warn: SeverityNumber.WARN,\n info: SeverityNumber.INFO,\n debug: SeverityNumber.DEBUG,\n trace: SeverityNumber.TRACE,\n};\n\nfunction getSeverityNumber(level: string): SeverityNumber {\n return logLayerLevels[level] ?? SeverityNumber.TRACE;\n}\n\nexport function emitLogRecord(record: Record<string, any>, logger: Logger): void {\n const { message, level, ...splat } = record;\n const attributes: LogAttributes = {};\n for (const key in splat) {\n if (Object.hasOwn(splat, key)) {\n attributes[key] = splat[key];\n }\n }\n const logRecord: LogRecord = {\n severityNumber: getSeverityNumber(level),\n severityText: level,\n body: message,\n attributes: attributes,\n };\n logger.emit(logRecord);\n}\n","import { LoggerlessTransport, type LoggerlessTransportConfig, type LogLayerTransportParams } from \"@loglayer/transport\";\nimport { type Logger, logs } from \"@opentelemetry/api-logs\";\nimport { emitLogRecord } from \"./utils.js\";\n\nexport interface OpenTelemetryTransportConfig extends LoggerlessTransportConfig {\n /**\n * Callback to handle errors that occur when logging\n */\n onError?: (error: any) => void;\n}\n\nexport class OpenTelemetryTransport extends LoggerlessTransport {\n private _logger: Logger;\n private onError?: (error: any) => void;\n\n constructor(config: OpenTelemetryTransportConfig = {}) {\n super(config);\n this._logger = logs.getLogger(\"loglayer\");\n this.onError = config.onError;\n }\n\n shipToLogger({ logLevel, messages, data, hasData }: LogLayerTransportParams) {\n const assembled = {\n level: logLevel,\n message: messages.join(\" \"),\n ...(hasData ? data : {}),\n };\n\n try {\n emitLogRecord(assembled, this._logger);\n } catch (error: any) {\n if (this.onError) {\n this.onError(error);\n }\n }\n\n return [assembled];\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAMA,iBAAyC;CAC7C,OAAOC,wCAAe;CACtB,OAAOA,wCAAe;CACtB,MAAMA,wCAAe;CACrB,MAAMA,wCAAe;CACrB,OAAOA,wCAAe;CACtB,OAAOA,wCAAe;CACvB;AAED,SAAS,kBAAkB,OAA+B;AACxD,QAAO,eAAe,UAAUA,wCAAe;;AAGjD,SAAgB,cAAc,QAA6B,QAAsB;CAC/E,MAAM,EAAE,SAAS,MAAO,GAAG,UAAU;CACrC,MAAMC,aAA4B,EAAE;AACpC,MAAK,MAAM,OAAO,MAChB,KAAI,OAAO,OAAO,OAAO,IAAI,CAC3B,YAAW,OAAO,MAAM;CAG5B,MAAMC,YAAuB;EAC3B,gBAAgB,kBAAkB,MAAM;EACxC,cAAc;EACd,MAAM;EACM;EACb;AACD,QAAO,KAAK,UAAU;;;;;ACtBxB,IAAa,yBAAb,cAA4CC,yCAAoB;CAC9D,AAAQ;CACR,AAAQ;CAER,YAAY,SAAuC,EAAE,EAAE;AACrD,QAAM,OAAO;AACb,OAAK,UAAUC,8BAAK,UAAU,WAAW;AACzC,OAAK,UAAU,OAAO;;CAGxB,aAAa,EAAE,UAAU,UAAU,MAAM,WAAoC;EAC3E,MAAM,YAAY;GAChB,OAAO;GACP,SAAS,SAAS,KAAK,IAAI;GAC3B,GAAI,UAAU,OAAO,EAAE;GACxB;AAED,MAAI;AACF,iBAAc,WAAW,KAAK,QAAQ;WAC/BC,OAAY;AACnB,OAAI,KAAK,QACP,MAAK,QAAQ,MAAM;;AAIvB,SAAO,CAAC,UAAU"}
package/dist/index.d.cts CHANGED
@@ -1,20 +1,27 @@
1
- import * as _loglayer_shared from '@loglayer/shared';
2
- import { LoggerlessTransportConfig, LoggerlessTransport, LogLayerTransportParams } from '@loglayer/transport';
1
+ import * as _loglayer_shared0 from "@loglayer/shared";
2
+ import { LogLayerTransportParams, LoggerlessTransport, LoggerlessTransportConfig } from "@loglayer/transport";
3
3
 
4
+ //#region src/OpenTelemetryTransport.d.ts
4
5
  interface OpenTelemetryTransportConfig extends LoggerlessTransportConfig {
5
- /**
6
- * Callback to handle errors that occur when logging
7
- */
8
- onError?: (error: any) => void;
6
+ /**
7
+ * Callback to handle errors that occur when logging
8
+ */
9
+ onError?: (error: any) => void;
9
10
  }
10
11
  declare class OpenTelemetryTransport extends LoggerlessTransport {
11
- private _logger;
12
- private onError?;
13
- constructor(config?: OpenTelemetryTransportConfig);
14
- shipToLogger({ logLevel, messages, data, hasData }: LogLayerTransportParams): {
15
- level: _loglayer_shared.LogLevelType;
16
- message: string;
17
- }[];
12
+ private _logger;
13
+ private onError?;
14
+ constructor(config?: OpenTelemetryTransportConfig);
15
+ shipToLogger({
16
+ logLevel,
17
+ messages,
18
+ data,
19
+ hasData
20
+ }: LogLayerTransportParams): {
21
+ level: _loglayer_shared0.LogLevelType;
22
+ message: string;
23
+ }[];
18
24
  }
19
-
20
- export { OpenTelemetryTransport, type OpenTelemetryTransportConfig };
25
+ //#endregion
26
+ export { OpenTelemetryTransport, OpenTelemetryTransportConfig };
27
+ //# sourceMappingURL=index.d.cts.map
package/dist/index.d.ts CHANGED
@@ -1,20 +1,27 @@
1
- import * as _loglayer_shared from '@loglayer/shared';
2
- import { LoggerlessTransportConfig, LoggerlessTransport, LogLayerTransportParams } from '@loglayer/transport';
1
+ import { LogLayerTransportParams, LoggerlessTransport, LoggerlessTransportConfig } from "@loglayer/transport";
2
+ import * as _loglayer_shared0 from "@loglayer/shared";
3
3
 
4
+ //#region src/OpenTelemetryTransport.d.ts
4
5
  interface OpenTelemetryTransportConfig extends LoggerlessTransportConfig {
5
- /**
6
- * Callback to handle errors that occur when logging
7
- */
8
- onError?: (error: any) => void;
6
+ /**
7
+ * Callback to handle errors that occur when logging
8
+ */
9
+ onError?: (error: any) => void;
9
10
  }
10
11
  declare class OpenTelemetryTransport extends LoggerlessTransport {
11
- private _logger;
12
- private onError?;
13
- constructor(config?: OpenTelemetryTransportConfig);
14
- shipToLogger({ logLevel, messages, data, hasData }: LogLayerTransportParams): {
15
- level: _loglayer_shared.LogLevelType;
16
- message: string;
17
- }[];
12
+ private _logger;
13
+ private onError?;
14
+ constructor(config?: OpenTelemetryTransportConfig);
15
+ shipToLogger({
16
+ logLevel,
17
+ messages,
18
+ data,
19
+ hasData
20
+ }: LogLayerTransportParams): {
21
+ level: _loglayer_shared0.LogLevelType;
22
+ message: string;
23
+ }[];
18
24
  }
19
-
20
- export { OpenTelemetryTransport, type OpenTelemetryTransportConfig };
25
+ //#endregion
26
+ export { OpenTelemetryTransport, OpenTelemetryTransportConfig };
27
+ //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,63 +1,56 @@
1
- // src/OpenTelemetryTransport.ts
2
1
  import { LoggerlessTransport } from "@loglayer/transport";
3
- import { logs } from "@opentelemetry/api-logs";
2
+ import { SeverityNumber, logs } from "@opentelemetry/api-logs";
4
3
 
5
- // src/utils.ts
6
- import { SeverityNumber } from "@opentelemetry/api-logs";
7
- var logLayerLevels = {
8
- fatal: SeverityNumber.FATAL,
9
- error: SeverityNumber.ERROR,
10
- warn: SeverityNumber.WARN,
11
- info: SeverityNumber.INFO,
12
- debug: SeverityNumber.DEBUG,
13
- trace: SeverityNumber.TRACE
4
+ //#region src/utils.ts
5
+ const logLayerLevels = {
6
+ fatal: SeverityNumber.FATAL,
7
+ error: SeverityNumber.ERROR,
8
+ warn: SeverityNumber.WARN,
9
+ info: SeverityNumber.INFO,
10
+ debug: SeverityNumber.DEBUG,
11
+ trace: SeverityNumber.TRACE
14
12
  };
15
13
  function getSeverityNumber(level) {
16
- return logLayerLevels[level] ?? SeverityNumber.TRACE;
14
+ return logLayerLevels[level] ?? SeverityNumber.TRACE;
17
15
  }
18
16
  function emitLogRecord(record, logger) {
19
- const { message, level, ...splat } = record;
20
- const attributes = {};
21
- for (const key in splat) {
22
- if (Object.hasOwn(splat, key)) {
23
- attributes[key] = splat[key];
24
- }
25
- }
26
- const logRecord = {
27
- severityNumber: getSeverityNumber(level),
28
- severityText: level,
29
- body: message,
30
- attributes
31
- };
32
- logger.emit(logRecord);
17
+ const { message, level,...splat } = record;
18
+ const attributes = {};
19
+ for (const key in splat) if (Object.hasOwn(splat, key)) attributes[key] = splat[key];
20
+ const logRecord = {
21
+ severityNumber: getSeverityNumber(level),
22
+ severityText: level,
23
+ body: message,
24
+ attributes
25
+ };
26
+ logger.emit(logRecord);
33
27
  }
34
28
 
35
- // src/OpenTelemetryTransport.ts
29
+ //#endregion
30
+ //#region src/OpenTelemetryTransport.ts
36
31
  var OpenTelemetryTransport = class extends LoggerlessTransport {
37
- _logger;
38
- onError;
39
- constructor(config = {}) {
40
- super(config);
41
- this._logger = logs.getLogger("loglayer");
42
- this.onError = config.onError;
43
- }
44
- shipToLogger({ logLevel, messages, data, hasData }) {
45
- const assembled = {
46
- level: logLevel,
47
- message: messages.join(" "),
48
- ...hasData ? data : {}
49
- };
50
- try {
51
- emitLogRecord(assembled, this._logger);
52
- } catch (error) {
53
- if (this.onError) {
54
- this.onError(error);
55
- }
56
- }
57
- return [assembled];
58
- }
59
- };
60
- export {
61
- OpenTelemetryTransport
32
+ _logger;
33
+ onError;
34
+ constructor(config = {}) {
35
+ super(config);
36
+ this._logger = logs.getLogger("loglayer");
37
+ this.onError = config.onError;
38
+ }
39
+ shipToLogger({ logLevel, messages, data, hasData }) {
40
+ const assembled = {
41
+ level: logLevel,
42
+ message: messages.join(" "),
43
+ ...hasData ? data : {}
44
+ };
45
+ try {
46
+ emitLogRecord(assembled, this._logger);
47
+ } catch (error) {
48
+ if (this.onError) this.onError(error);
49
+ }
50
+ return [assembled];
51
+ }
62
52
  };
53
+
54
+ //#endregion
55
+ export { OpenTelemetryTransport };
63
56
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/OpenTelemetryTransport.ts","../src/utils.ts"],"sourcesContent":["import { LoggerlessTransport, type LoggerlessTransportConfig, type LogLayerTransportParams } from \"@loglayer/transport\";\nimport { type Logger, logs } from \"@opentelemetry/api-logs\";\nimport { emitLogRecord } from \"./utils.js\";\n\nexport interface OpenTelemetryTransportConfig extends LoggerlessTransportConfig {\n /**\n * Callback to handle errors that occur when logging\n */\n onError?: (error: any) => void;\n}\n\nexport class OpenTelemetryTransport extends LoggerlessTransport {\n private _logger: Logger;\n private onError?: (error: any) => void;\n\n constructor(config: OpenTelemetryTransportConfig = {}) {\n super(config);\n this._logger = logs.getLogger(\"loglayer\");\n this.onError = config.onError;\n }\n\n shipToLogger({ logLevel, messages, data, hasData }: LogLayerTransportParams) {\n const assembled = {\n level: logLevel,\n message: messages.join(\" \"),\n ...(hasData ? data : {}),\n };\n\n try {\n emitLogRecord(assembled, this._logger);\n } catch (error: any) {\n if (this.onError) {\n this.onError(error);\n }\n }\n\n return [assembled];\n }\n}\n","// This code is adapted from:\n// https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/packages/winston-transport/src/OpenTelemetryTransportV3.ts\n// Which is Copyright The OpenTelemetry Authors and licensed under the Apache License, Version 2.0.\n\nimport { type LogAttributes, type Logger, type LogRecord, SeverityNumber } from \"@opentelemetry/api-logs\";\n\nconst logLayerLevels: Record<string, number> = {\n fatal: SeverityNumber.FATAL,\n error: SeverityNumber.ERROR,\n warn: SeverityNumber.WARN,\n info: SeverityNumber.INFO,\n debug: SeverityNumber.DEBUG,\n trace: SeverityNumber.TRACE,\n};\n\nfunction getSeverityNumber(level: string): SeverityNumber {\n return logLayerLevels[level] ?? SeverityNumber.TRACE;\n}\n\nexport function emitLogRecord(record: Record<string, any>, logger: Logger): void {\n const { message, level, ...splat } = record;\n const attributes: LogAttributes = {};\n for (const key in splat) {\n if (Object.hasOwn(splat, key)) {\n attributes[key] = splat[key];\n }\n }\n const logRecord: LogRecord = {\n severityNumber: getSeverityNumber(level),\n severityText: level,\n body: message,\n attributes: attributes,\n };\n logger.emit(logRecord);\n}\n"],"mappings":";AAAA,SAAS,2BAAyF;AAClG,SAAsB,YAAY;;;ACGlC,SAA0D,sBAAsB;AAEhF,IAAM,iBAAyC;AAAA,EAC7C,OAAO,eAAe;AAAA,EACtB,OAAO,eAAe;AAAA,EACtB,MAAM,eAAe;AAAA,EACrB,MAAM,eAAe;AAAA,EACrB,OAAO,eAAe;AAAA,EACtB,OAAO,eAAe;AACxB;AAEA,SAAS,kBAAkB,OAA+B;AACxD,SAAO,eAAe,KAAK,KAAK,eAAe;AACjD;AAEO,SAAS,cAAc,QAA6B,QAAsB;AAC/E,QAAM,EAAE,SAAS,OAAO,GAAG,MAAM,IAAI;AACrC,QAAM,aAA4B,CAAC;AACnC,aAAW,OAAO,OAAO;AACvB,QAAI,OAAO,OAAO,OAAO,GAAG,GAAG;AAC7B,iBAAW,GAAG,IAAI,MAAM,GAAG;AAAA,IAC7B;AAAA,EACF;AACA,QAAM,YAAuB;AAAA,IAC3B,gBAAgB,kBAAkB,KAAK;AAAA,IACvC,cAAc;AAAA,IACd,MAAM;AAAA,IACN;AAAA,EACF;AACA,SAAO,KAAK,SAAS;AACvB;;;ADvBO,IAAM,yBAAN,cAAqC,oBAAoB;AAAA,EACtD;AAAA,EACA;AAAA,EAER,YAAY,SAAuC,CAAC,GAAG;AACrD,UAAM,MAAM;AACZ,SAAK,UAAU,KAAK,UAAU,UAAU;AACxC,SAAK,UAAU,OAAO;AAAA,EACxB;AAAA,EAEA,aAAa,EAAE,UAAU,UAAU,MAAM,QAAQ,GAA4B;AAC3E,UAAM,YAAY;AAAA,MAChB,OAAO;AAAA,MACP,SAAS,SAAS,KAAK,GAAG;AAAA,MAC1B,GAAI,UAAU,OAAO,CAAC;AAAA,IACxB;AAEA,QAAI;AACF,oBAAc,WAAW,KAAK,OAAO;AAAA,IACvC,SAAS,OAAY;AACnB,UAAI,KAAK,SAAS;AAChB,aAAK,QAAQ,KAAK;AAAA,MACpB;AAAA,IACF;AAEA,WAAO,CAAC,SAAS;AAAA,EACnB;AACF;","names":[]}
1
+ {"version":3,"file":"index.js","names":["logLayerLevels: Record<string, number>","attributes: LogAttributes","logRecord: LogRecord","error: any"],"sources":["../src/utils.ts","../src/OpenTelemetryTransport.ts"],"sourcesContent":["// This code is adapted from:\n// https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/packages/winston-transport/src/OpenTelemetryTransportV3.ts\n// Which is Copyright The OpenTelemetry Authors and licensed under the Apache License, Version 2.0.\n\nimport { type LogAttributes, type Logger, type LogRecord, SeverityNumber } from \"@opentelemetry/api-logs\";\n\nconst logLayerLevels: Record<string, number> = {\n fatal: SeverityNumber.FATAL,\n error: SeverityNumber.ERROR,\n warn: SeverityNumber.WARN,\n info: SeverityNumber.INFO,\n debug: SeverityNumber.DEBUG,\n trace: SeverityNumber.TRACE,\n};\n\nfunction getSeverityNumber(level: string): SeverityNumber {\n return logLayerLevels[level] ?? SeverityNumber.TRACE;\n}\n\nexport function emitLogRecord(record: Record<string, any>, logger: Logger): void {\n const { message, level, ...splat } = record;\n const attributes: LogAttributes = {};\n for (const key in splat) {\n if (Object.hasOwn(splat, key)) {\n attributes[key] = splat[key];\n }\n }\n const logRecord: LogRecord = {\n severityNumber: getSeverityNumber(level),\n severityText: level,\n body: message,\n attributes: attributes,\n };\n logger.emit(logRecord);\n}\n","import { LoggerlessTransport, type LoggerlessTransportConfig, type LogLayerTransportParams } from \"@loglayer/transport\";\nimport { type Logger, logs } from \"@opentelemetry/api-logs\";\nimport { emitLogRecord } from \"./utils.js\";\n\nexport interface OpenTelemetryTransportConfig extends LoggerlessTransportConfig {\n /**\n * Callback to handle errors that occur when logging\n */\n onError?: (error: any) => void;\n}\n\nexport class OpenTelemetryTransport extends LoggerlessTransport {\n private _logger: Logger;\n private onError?: (error: any) => void;\n\n constructor(config: OpenTelemetryTransportConfig = {}) {\n super(config);\n this._logger = logs.getLogger(\"loglayer\");\n this.onError = config.onError;\n }\n\n shipToLogger({ logLevel, messages, data, hasData }: LogLayerTransportParams) {\n const assembled = {\n level: logLevel,\n message: messages.join(\" \"),\n ...(hasData ? data : {}),\n };\n\n try {\n emitLogRecord(assembled, this._logger);\n } catch (error: any) {\n if (this.onError) {\n this.onError(error);\n }\n }\n\n return [assembled];\n }\n}\n"],"mappings":";;;;AAMA,MAAMA,iBAAyC;CAC7C,OAAO,eAAe;CACtB,OAAO,eAAe;CACtB,MAAM,eAAe;CACrB,MAAM,eAAe;CACrB,OAAO,eAAe;CACtB,OAAO,eAAe;CACvB;AAED,SAAS,kBAAkB,OAA+B;AACxD,QAAO,eAAe,UAAU,eAAe;;AAGjD,SAAgB,cAAc,QAA6B,QAAsB;CAC/E,MAAM,EAAE,SAAS,MAAO,GAAG,UAAU;CACrC,MAAMC,aAA4B,EAAE;AACpC,MAAK,MAAM,OAAO,MAChB,KAAI,OAAO,OAAO,OAAO,IAAI,CAC3B,YAAW,OAAO,MAAM;CAG5B,MAAMC,YAAuB;EAC3B,gBAAgB,kBAAkB,MAAM;EACxC,cAAc;EACd,MAAM;EACM;EACb;AACD,QAAO,KAAK,UAAU;;;;;ACtBxB,IAAa,yBAAb,cAA4C,oBAAoB;CAC9D,AAAQ;CACR,AAAQ;CAER,YAAY,SAAuC,EAAE,EAAE;AACrD,QAAM,OAAO;AACb,OAAK,UAAU,KAAK,UAAU,WAAW;AACzC,OAAK,UAAU,OAAO;;CAGxB,aAAa,EAAE,UAAU,UAAU,MAAM,WAAoC;EAC3E,MAAM,YAAY;GAChB,OAAO;GACP,SAAS,SAAS,KAAK,IAAI;GAC3B,GAAI,UAAU,OAAO,EAAE;GACxB;AAED,MAAI;AACF,iBAAc,WAAW,KAAK,QAAQ;WAC/BC,OAAY;AACnB,OAAI,KAAK,QACP,MAAK,QAAQ,MAAM;;AAIvB,SAAO,CAAC,UAAU"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@loglayer/transport-opentelemetry",
3
3
  "description": "OpenTelemetry transport for LogLayer for use with log processors.",
4
- "version": "3.0.5",
4
+ "version": "3.0.7",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
7
7
  "module": "./dist/index.js",
@@ -33,26 +33,26 @@
33
33
  ],
34
34
  "dependencies": {
35
35
  "@opentelemetry/api-logs": "0.204.0",
36
- "@loglayer/transport": "2.3.3"
36
+ "@loglayer/transport": "2.3.5"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@opentelemetry/api": "1.9.0",
40
+ "@opentelemetry/instrumentation-express": "0.52.0",
41
+ "@opentelemetry/instrumentation-http": "0.204.0",
40
42
  "@opentelemetry/sdk-logs": "0.204.0",
41
43
  "@opentelemetry/sdk-node": "0.204.0",
42
44
  "@opentelemetry/sdk-trace-node": "2.1.0",
43
45
  "@opentelemetry/semantic-conventions": "1.37.0",
44
- "@opentelemetry/instrumentation-express": "0.52.0",
45
- "@opentelemetry/instrumentation-http": "0.204.0",
46
- "@types/express": "5.0.3",
47
- "@types/node": "24.6.1",
46
+ "@types/express": "5.0.5",
47
+ "@types/node": "24.9.2",
48
48
  "express": "5.1.0",
49
49
  "serialize-error": "12.0.0",
50
- "tsup": "8.5.0",
50
+ "tsdown": "0.15.12",
51
51
  "tsx": "4.20.6",
52
52
  "typescript": "5.9.3",
53
- "vitest": "3.2.4",
53
+ "vitest": "4.0.6",
54
54
  "@internal/tsconfig": "2.1.0",
55
- "loglayer": "6.8.2"
55
+ "loglayer": "7.1.0"
56
56
  },
57
57
  "bugs": "https://github.com/loglayer/loglayer/issues",
58
58
  "engines": {
@@ -63,7 +63,7 @@
63
63
  ],
64
64
  "homepage": "https://loglayer.dev",
65
65
  "scripts": {
66
- "build": "tsup src/index.ts",
66
+ "build": "tsdown src/index.ts",
67
67
  "test": "vitest --run",
68
68
  "clean": "rm -rf .turbo node_modules dist",
69
69
  "lint": "biome check --no-errors-on-unmatched --write --unsafe src",