@interopio/otel 0.0.47 → 0.0.49

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.
@@ -4,5 +4,5 @@ export declare class Logs {
4
4
  static _instance: LogsManager;
5
5
  static get instance(): LogsManager;
6
6
  static set instance(manager: LogsManager);
7
- static emit(record: LogRecord): Promise<void>;
7
+ static emit(record: LogRecord): Promise<void> | null;
8
8
  }
@@ -7,7 +7,8 @@ export declare class LogsManager implements ILogsManager {
7
7
  settings: LogsSettings;
8
8
  loggerOtel: Logger;
9
9
  constructor(logsSettings: LogsSettings, settings: Settings);
10
- emit(logRecord: LogRecord): Promise<void>;
10
+ emit(logRecord: LogRecord): Promise<void> | null;
11
+ applyFilters(logRecord: LogRecord): boolean;
11
12
  start(): Promise<void>;
12
13
  stop(): Promise<void>;
13
14
  waitForFinalExport(timeoutMs?: number | undefined): Promise<void>;
@@ -31,6 +31,9 @@ class LogsManager {
31
31
  }
32
32
  emit(logRecord) {
33
33
  if (this.started) {
34
+ if (!this.applyFilters(logRecord)) {
35
+ return Promise.resolve();
36
+ }
34
37
  this.loggerOtel.emit(logRecord);
35
38
  // {
36
39
  // severityNumber: SeverityNumber.INFO,
@@ -41,6 +44,50 @@ class LogsManager {
41
44
  }
42
45
  return Promise.resolve();
43
46
  }
47
+ applyFilters(logRecord) {
48
+ var _a, _b, _c, _d;
49
+ if (!((_a = this.settings.filters) === null || _a === void 0 ? void 0 : _a.length) &&
50
+ !this.settings.defaults) {
51
+ return true;
52
+ }
53
+ const filter = (_c = (_b = this.settings.filters) === null || _b === void 0 ? void 0 : _b.find(x => {
54
+ var _a;
55
+ if (x.categoryName) {
56
+ if (((_a = logRecord.attributes) === null || _a === void 0 ? void 0 : _a.categoryName) !== x.categoryName) {
57
+ return false;
58
+ }
59
+ }
60
+ if (x.severity) {
61
+ if (!logRecord.severityText ||
62
+ !asSevereOrMore(logRecord.severityText, x.severity)) {
63
+ return false;
64
+ }
65
+ }
66
+ if (x.bodyRegex) {
67
+ if (!new RegExp(x.bodyRegex).test(logRecord.body + "")) {
68
+ return false;
69
+ }
70
+ }
71
+ return true;
72
+ })) !== null && _c !== void 0 ? _c : this.settings.defaults;
73
+ if (!filter) {
74
+ return true;
75
+ }
76
+ if (filter.enabled === false) {
77
+ return false;
78
+ }
79
+ if ((_d = filter.allowedAttributes) === null || _d === void 0 ? void 0 : _d.length) {
80
+ for (const attribute of Object.keys(logRecord.attributes)) {
81
+ if (!~filter.allowedAttributes.indexOf(attribute)) {
82
+ delete logRecord.attributes[attribute];
83
+ }
84
+ }
85
+ }
86
+ if (filter.hideRegex) {
87
+ logRecord.body = (logRecord.body + "").replace(new RegExp(filter.hideRegex), "*****");
88
+ }
89
+ return true;
90
+ }
44
91
  start() {
45
92
  this.started = true;
46
93
  return Promise.resolve();
@@ -54,4 +101,16 @@ class LogsManager {
54
101
  }
55
102
  }
56
103
  exports.LogsManager = LogsManager;
104
+ const severityHierarchy = ["TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL"];
105
+ function asSevereOrMore(left, right) {
106
+ const leftIndex = severityHierarchy.indexOf(left.toUpperCase());
107
+ if (leftIndex < 0) {
108
+ return false;
109
+ }
110
+ const rightIndex = severityHierarchy.indexOf(right.toUpperCase());
111
+ if (rightIndex < 0) {
112
+ return false;
113
+ }
114
+ return leftIndex >= rightIndex;
115
+ }
57
116
  //# sourceMappingURL=manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/logs/manager.ts"],"names":[],"mappings":";AAAA,iGAAiG;;;AAIjG,oFAAyE;AACzE,sDAAuH;AAEvH,wDAAkE;AAClE,iCAA8B;AAE9B,MAAa,WAAW;IAKpB,YAAmB,YAA0B,EAAE,QAAkB;;QAE7D,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,MAAM,QAAQ,GAAG,IAAA,kCAAsB,kBACnC,cAAc,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,EACzC,qBAAqB,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,EAC9C,iBAAiB,EAAE,GAAG,QAAQ,CAAC,cAAc,EAAE,EAC/C,SAAS,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,IAC5B,QAAQ,CAAC,4BAA4B,EAC1C,CAAC;QAEH,MAAM,cAAc,GAAG,MAAA,YAAY,CAAC,cAAc,mCAAI,IAAI,yBAAc,iBACpE,QAAQ,IACL,YAAY,CAAC,gBAAgB,EAClC,CAAC;QAEH,IAAI,MAAA,YAAY,CAAC,YAAY,0CAAE,MAAM,EAAE;YACnC,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,YAAY,EAAE;gBAC9C,cAAc,CAAC,qBAAqB,CAChC,IAAI,kCAAuB,CACvB,QAAQ,EACR,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC;aACxC;SACJ;QAED,IAAI,MAAA,YAAY,CAAC,aAAa,0CAAE,MAAM,EAAE;YACpC,KAAK,MAAM,SAAS,IAAI,YAAY,CAAC,aAAa,EAAE;gBAChD,cAAc,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;aACnD;SACJ;QAED,IAAI,YAAY,CAAC,GAAG,EAAE;YAClB,cAAc,CAAC,qBAAqB,CAChC,IAAI,kCAAuB,CACvB,IAAI,yCAAe,iBACf,GAAG,EAAE,YAAY,CAAC,GAAG,EACrB,SAAS,EAAE,YAAY,CAAC,SAAS,IAC9B,YAAY,CAAC,gBAAgB,EAClC,EACF,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC;SACxC;QAED,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAEtD,WAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzB,CAAC;IAEM,IAAI,CAAC,SAAoB;QAC5B,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI;YACJ,2CAA2C;YAC3C,4BAA4B;YAC5B,oBAAoB;YACpB,+CAA+C;YAC/C,MAAM;SACT;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAGD,KAAK;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,IAAI;QACA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,kBAAkB,CAAC,SAA8B;QAC7C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ;AAhFD,kCAgFC"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/logs/manager.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@ import { LogsSettings } from './types';
2
2
  import { LogRecord } from "@opentelemetry/sdk-logs";
3
3
  import { NullManager } from '../utils/nullManager';
4
4
  export declare class NullLogsManager extends NullManager<LogsSettings> {
5
- emit(logRecord: LogRecord): Promise<void>;
5
+ emit(logRecord: LogRecord): Promise<void> | null;
6
6
  }
@@ -5,7 +5,7 @@ exports.NullLogsManager = void 0;
5
5
  const nullManager_1 = require("../utils/nullManager");
6
6
  class NullLogsManager extends nullManager_1.NullManager {
7
7
  emit(logRecord) {
8
- return Promise.resolve();
8
+ return null;
9
9
  }
10
10
  }
11
11
  exports.NullLogsManager = NullLogsManager;
@@ -1 +1 @@
1
- {"version":3,"file":"nullManager.js","sourceRoot":"","sources":["../../src/logs/nullManager.ts"],"names":[],"mappings":";AAAA,iGAAiG;;;AAIjG,sDAAmD;AAEnD,MAAa,eAAgB,SAAQ,yBAAyB;IACnD,IAAI,CAAC,SAAoB;QAC5B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ;AAJD,0CAIC"}
1
+ {"version":3,"file":"nullManager.js","sourceRoot":"","sources":["../../src/logs/nullManager.ts"],"names":[],"mappings":";AAAA,iGAAiG;;;AAIjG,sDAAmD;AAEnD,MAAa,eAAgB,SAAQ,yBAAyB;IACnD,IAAI,CAAC,SAAoB;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAJD,0CAIC"}
@@ -3,7 +3,17 @@ import { Manager } from "../types";
3
3
  import { OTLPExporterConfigBase } from "@opentelemetry/otlp-exporter-base";
4
4
  import { LogRecord } from "@opentelemetry/api-logs";
5
5
  export interface LogsManager extends Manager<LogsSettings> {
6
- emit(logRecord: LogRecord): Promise<void>;
6
+ emit(logRecord: LogRecord): Promise<void> | null;
7
+ }
8
+ export interface LogOptions {
9
+ allowedAttributes?: string[];
10
+ hideRegex?: string;
11
+ enabled?: boolean;
12
+ }
13
+ export interface LogFilter extends LogOptions {
14
+ categoryName?: string;
15
+ severity?: "TRACE" | "DEBUG" | "INFO" | "WARN" | "ERROR" | "FATAL";
16
+ bodyRegex?: string;
7
17
  }
8
18
  export interface LogsSettings {
9
19
  enabled: boolean;
@@ -17,4 +27,6 @@ export interface LogsSettings {
17
27
  logExporters?: LogRecordExporter[];
18
28
  additionalAttributes?: any;
19
29
  maxAttributeDepth?: number;
30
+ filters?: LogFilter[];
31
+ defaults?: LogOptions;
20
32
  }
@@ -1,3 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ ;
3
4
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/logs/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/logs/types.ts"],"names":[],"mappings":";;AAkBC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@interopio/otel",
3
- "version": "0.0.47",
3
+ "version": "0.0.49",
4
4
  "description": "otel library",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",