@loglayer/transport-dynatrace 2.0.4 → 2.1.1

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/loglayer/loglayer/packages/transports/dynatrace/dist/index.cjs","../src/DynatraceTransport.ts"],"names":[],"mappings":"AAAA;ACAA,gDAAkG;AAqB3F,IAAM,mBAAA,EAAN,MAAA,QAAiC,+BAAoB;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EAER,WAAA,CAAY,MAAA,EAAkC;AAC5C,IAAA,KAAA,CAAM,MAAM,CAAA;AACZ,IAAA,IAAA,CAAK,IAAA,EAAM,MAAA,CAAO,GAAA;AAClB,IAAA,IAAA,CAAK,QAAA,EAAU,MAAA,CAAO,OAAA;AACtB,IAAA,IAAA,CAAK,YAAA,EAAc,MAAA,CAAO,WAAA;AAAA,EAC5B;AAAA,EAEA,YAAA,CAAa,EAAE,QAAA,EAAU,QAAA,EAAU,IAAA,EAAM,QAAQ,CAAA,EAAmC;AAElF,IAAA,MAAM,eAAA,EAAiB,QAAA,CAAS,MAAA,CAAO,CAAC,GAAA,EAAA,GAAQ,OAAO,IAAA,IAAQ,QAAQ,CAAA;AACvE,IAAA,MAAM,QAAA,EAAU,cAAA,CAAe,IAAA,CAAK,GAAG,CAAA;AAEvC,IAAA,MAAM,QAAA,EAA+B;AAAA,MACnC,OAAA,EAAS,OAAA;AAAA,MACT,QAAA,EAAU,QAAA;AAAA,MACV,SAAA,EAAA,iBAAW,IAAI,IAAA,CAAK,CAAA,CAAA,CAAE,WAAA,CAAY,CAAA;AAAA,MAClC,GAAI,KAAA,GAAQ,QAAA,EAAU,KAAA,EAAO,CAAC;AAAA,IAChC,CAAA;AAEA,IAAA,MAAM,QAAA,EAAU,IAAA,CAAK,SAAA,CAAU,OAAO,CAAA;AAEtC,IAAA,KAAA,CAAM,IAAA,CAAK,GAAA,EAAK;AAAA,MACd,MAAA,EAAQ,MAAA;AAAA,MACR,OAAA,EAAS;AAAA,QACP,cAAA,EAAgB,iCAAA;AAAA,QAChB,aAAA,EAAe,CAAA,UAAA,EAAa,IAAA,CAAK,WAAW,CAAA;AAAA,MAAA;AAC9C,MAAA;AACM,IAAA;AAGJ,MAAA;AACE,QAAA;AACA,QAAA;AACE,UAAA;AAAkB,QAAA;AACpB,MAAA;AACF,IAAA;AAGA,MAAA;AACE,QAAA;AAAkB,MAAA;AAElB,QAAA;AAAsD,MAAA;AACxD,IAAA;AAGJ,IAAA;AAAO,EAAA;AAEX;AD3BA;AACA;AACA","file":"/home/runner/work/loglayer/loglayer/packages/transports/dynatrace/dist/index.cjs","sourcesContent":[null,"import { type LogLayerTransportParams, LoggerlessTransport, type LoggerlessTransportConfig } from \"@loglayer/transport\";\n\nexport interface DynatraceTransportConfig extends LoggerlessTransportConfig {\n /**\n * The URL to post logs to. Should be in the format of:\n * - https://<env-id>.live.dynatrace.com/api/v2/logs/ingest\n * - https://{your-activegate-domain}:9999/e/{your-environment-id}/api/v2/logs/ingest\n */\n url: string;\n\n /**\n * An access token with the logs.ingest scope\n */\n ingestToken: string;\n\n /**\n * Optional callback for error handling\n */\n onError?: (error: Error | string) => void;\n}\n\nexport class DynatraceTransport extends LoggerlessTransport {\n private url: string;\n private onError?: (error: Error | string) => void;\n private ingestToken: string;\n\n constructor(config: DynatraceTransportConfig) {\n super(config);\n this.url = config.url;\n this.onError = config.onError;\n this.ingestToken = config.ingestToken;\n }\n\n shipToLogger({ logLevel, messages, data, hasData }: LogLayerTransportParams): any[] {\n // Only use the string messages for content\n const stringMessages = messages.filter((msg) => typeof msg === \"string\");\n const message = stringMessages.join(\" \");\n\n const payload: Record<string, any> = {\n content: message,\n severity: logLevel,\n timestamp: new Date().toISOString(),\n ...(data && hasData ? data : {}),\n };\n\n const content = JSON.stringify(payload);\n\n fetch(this.url, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json; charset=utf-8\",\n Authorization: `Api-Token ${this.ingestToken}`,\n },\n body: content,\n })\n .then((response) => {\n if (!response.ok) {\n const error = `Failed to send log to Dynatrace: ${response.statusText}`;\n if (this.onError) {\n this.onError(error);\n }\n }\n })\n .catch((error) => {\n if (this.onError) {\n this.onError(error);\n } else {\n console.error(\"Error sending log to Dynatrace:\", error);\n }\n });\n\n return messages;\n }\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/loglayer/loglayer/packages/transports/dynatrace/dist/index.cjs","../src/DynatraceTransport.ts"],"names":[],"mappings":"AAAA;ACAA,gDAAkG;AAqB3F,IAAM,mBAAA,EAAN,MAAA,QAAiC,+BAAoB;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EAER,WAAA,CAAY,MAAA,EAAkC;AAC5C,IAAA,KAAA,CAAM,MAAM,CAAA;AACZ,IAAA,IAAA,CAAK,IAAA,EAAM,MAAA,CAAO,GAAA;AAClB,IAAA,IAAA,CAAK,QAAA,EAAU,MAAA,CAAO,OAAA;AACtB,IAAA,IAAA,CAAK,YAAA,EAAc,MAAA,CAAO,WAAA;AAAA,EAC5B;AAAA,EAEA,YAAA,CAAa,EAAE,QAAA,EAAU,QAAA,EAAU,IAAA,EAAM,QAAQ,CAAA,EAAmC;AAElF,IAAA,MAAM,eAAA,EAAiB,QAAA,CAAS,MAAA,CAAO,CAAC,GAAA,EAAA,GAAQ,OAAO,IAAA,IAAQ,QAAQ,CAAA;AACvE,IAAA,MAAM,QAAA,EAAU,cAAA,CAAe,IAAA,CAAK,GAAG,CAAA;AAEvC,IAAA,MAAM,QAAA,EAA+B;AAAA,MACnC,OAAA,EAAS,OAAA;AAAA,MACT,QAAA,EAAU,QAAA;AAAA,MACV,SAAA,EAAA,iBAAW,IAAI,IAAA,CAAK,CAAA,CAAA,CAAE,WAAA,CAAY,CAAA;AAAA,MAClC,GAAI,KAAA,GAAQ,QAAA,EAAU,KAAA,EAAO,CAAC;AAAA,IAChC,CAAA;AAEA,IAAA,MAAM,QAAA,EAAU,IAAA,CAAK,SAAA,CAAU,OAAO,CAAA;AAEtC,IAAA,KAAA,CAAM,IAAA,CAAK,GAAA,EAAK;AAAA,MACd,MAAA,EAAQ,MAAA;AAAA,MACR,OAAA,EAAS;AAAA,QACP,cAAA,EAAgB,iCAAA;AAAA,QAChB,aAAA,EAAe,CAAA,UAAA,EAAa,IAAA,CAAK,WAAW,CAAA;AAAA,MAAA;AAC9C,MAAA;AACM,IAAA;AAGJ,MAAA;AACE,QAAA;AACA,QAAA;AACE,UAAA;AAAkB,QAAA;AACpB,MAAA;AACF,IAAA;AAGA,MAAA;AACE,QAAA;AAAkB,MAAA;AAElB,QAAA;AAAsD,MAAA;AACxD,IAAA;AAGJ,IAAA;AAAO,EAAA;AAEX;AD3BA;AACA;AACA","file":"/home/runner/work/loglayer/loglayer/packages/transports/dynatrace/dist/index.cjs","sourcesContent":[null,"import { LoggerlessTransport, type LoggerlessTransportConfig, type LogLayerTransportParams } from \"@loglayer/transport\";\n\nexport interface DynatraceTransportConfig extends LoggerlessTransportConfig {\n /**\n * The URL to post logs to. Should be in the format of:\n * - https://<env-id>.live.dynatrace.com/api/v2/logs/ingest\n * - https://{your-activegate-domain}:9999/e/{your-environment-id}/api/v2/logs/ingest\n */\n url: string;\n\n /**\n * An access token with the logs.ingest scope\n */\n ingestToken: string;\n\n /**\n * Optional callback for error handling\n */\n onError?: (error: Error | string) => void;\n}\n\nexport class DynatraceTransport extends LoggerlessTransport {\n private url: string;\n private onError?: (error: Error | string) => void;\n private ingestToken: string;\n\n constructor(config: DynatraceTransportConfig) {\n super(config);\n this.url = config.url;\n this.onError = config.onError;\n this.ingestToken = config.ingestToken;\n }\n\n shipToLogger({ logLevel, messages, data, hasData }: LogLayerTransportParams): any[] {\n // Only use the string messages for content\n const stringMessages = messages.filter((msg) => typeof msg === \"string\");\n const message = stringMessages.join(\" \");\n\n const payload: Record<string, any> = {\n content: message,\n severity: logLevel,\n timestamp: new Date().toISOString(),\n ...(data && hasData ? data : {}),\n };\n\n const content = JSON.stringify(payload);\n\n fetch(this.url, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json; charset=utf-8\",\n Authorization: `Api-Token ${this.ingestToken}`,\n },\n body: content,\n })\n .then((response) => {\n if (!response.ok) {\n const error = `Failed to send log to Dynatrace: ${response.statusText}`;\n if (this.onError) {\n this.onError(error);\n }\n }\n })\n .catch((error) => {\n if (this.onError) {\n this.onError(error);\n } else {\n console.error(\"Error sending log to Dynatrace:\", error);\n }\n });\n\n return messages;\n }\n}\n"]}
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { LoggerlessTransportConfig, LoggerlessTransport, LogLayerTransportParams } from '@loglayer/transport';
1
+ import { LoggerlessTransport, LoggerlessTransportConfig, LogLayerTransportParams } from '@loglayer/transport';
2
2
 
3
3
  interface DynatraceTransportConfig extends LoggerlessTransportConfig {
4
4
  /**
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { LoggerlessTransportConfig, LoggerlessTransport, LogLayerTransportParams } from '@loglayer/transport';
1
+ import { LoggerlessTransport, LoggerlessTransportConfig, LogLayerTransportParams } from '@loglayer/transport';
2
2
 
3
3
  interface DynatraceTransportConfig extends LoggerlessTransportConfig {
4
4
  /**
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/DynatraceTransport.ts"],"sourcesContent":["import { type LogLayerTransportParams, LoggerlessTransport, type LoggerlessTransportConfig } from \"@loglayer/transport\";\n\nexport interface DynatraceTransportConfig extends LoggerlessTransportConfig {\n /**\n * The URL to post logs to. Should be in the format of:\n * - https://<env-id>.live.dynatrace.com/api/v2/logs/ingest\n * - https://{your-activegate-domain}:9999/e/{your-environment-id}/api/v2/logs/ingest\n */\n url: string;\n\n /**\n * An access token with the logs.ingest scope\n */\n ingestToken: string;\n\n /**\n * Optional callback for error handling\n */\n onError?: (error: Error | string) => void;\n}\n\nexport class DynatraceTransport extends LoggerlessTransport {\n private url: string;\n private onError?: (error: Error | string) => void;\n private ingestToken: string;\n\n constructor(config: DynatraceTransportConfig) {\n super(config);\n this.url = config.url;\n this.onError = config.onError;\n this.ingestToken = config.ingestToken;\n }\n\n shipToLogger({ logLevel, messages, data, hasData }: LogLayerTransportParams): any[] {\n // Only use the string messages for content\n const stringMessages = messages.filter((msg) => typeof msg === \"string\");\n const message = stringMessages.join(\" \");\n\n const payload: Record<string, any> = {\n content: message,\n severity: logLevel,\n timestamp: new Date().toISOString(),\n ...(data && hasData ? data : {}),\n };\n\n const content = JSON.stringify(payload);\n\n fetch(this.url, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json; charset=utf-8\",\n Authorization: `Api-Token ${this.ingestToken}`,\n },\n body: content,\n })\n .then((response) => {\n if (!response.ok) {\n const error = `Failed to send log to Dynatrace: ${response.statusText}`;\n if (this.onError) {\n this.onError(error);\n }\n }\n })\n .catch((error) => {\n if (this.onError) {\n this.onError(error);\n } else {\n console.error(\"Error sending log to Dynatrace:\", error);\n }\n });\n\n return messages;\n }\n}\n"],"mappings":";AAAA,SAAuC,2BAA2D;AAqB3F,IAAM,qBAAN,cAAiC,oBAAoB;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EAER,YAAY,QAAkC;AAC5C,UAAM,MAAM;AACZ,SAAK,MAAM,OAAO;AAClB,SAAK,UAAU,OAAO;AACtB,SAAK,cAAc,OAAO;AAAA,EAC5B;AAAA,EAEA,aAAa,EAAE,UAAU,UAAU,MAAM,QAAQ,GAAmC;AAElF,UAAM,iBAAiB,SAAS,OAAO,CAAC,QAAQ,OAAO,QAAQ,QAAQ;AACvE,UAAM,UAAU,eAAe,KAAK,GAAG;AAEvC,UAAM,UAA+B;AAAA,MACnC,SAAS;AAAA,MACT,UAAU;AAAA,MACV,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,MAClC,GAAI,QAAQ,UAAU,OAAO,CAAC;AAAA,IAChC;AAEA,UAAM,UAAU,KAAK,UAAU,OAAO;AAEtC,UAAM,KAAK,KAAK;AAAA,MACd,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,eAAe,aAAa,KAAK,WAAW;AAAA,MAC9C;AAAA,MACA,MAAM;AAAA,IACR,CAAC,EACE,KAAK,CAAC,aAAa;AAClB,UAAI,CAAC,SAAS,IAAI;AAChB,cAAM,QAAQ,oCAAoC,SAAS,UAAU;AACrE,YAAI,KAAK,SAAS;AAChB,eAAK,QAAQ,KAAK;AAAA,QACpB;AAAA,MACF;AAAA,IACF,CAAC,EACA,MAAM,CAAC,UAAU;AAChB,UAAI,KAAK,SAAS;AAChB,aAAK,QAAQ,KAAK;AAAA,MACpB,OAAO;AACL,gBAAQ,MAAM,mCAAmC,KAAK;AAAA,MACxD;AAAA,IACF,CAAC;AAEH,WAAO;AAAA,EACT;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/DynatraceTransport.ts"],"sourcesContent":["import { LoggerlessTransport, type LoggerlessTransportConfig, type LogLayerTransportParams } from \"@loglayer/transport\";\n\nexport interface DynatraceTransportConfig extends LoggerlessTransportConfig {\n /**\n * The URL to post logs to. Should be in the format of:\n * - https://<env-id>.live.dynatrace.com/api/v2/logs/ingest\n * - https://{your-activegate-domain}:9999/e/{your-environment-id}/api/v2/logs/ingest\n */\n url: string;\n\n /**\n * An access token with the logs.ingest scope\n */\n ingestToken: string;\n\n /**\n * Optional callback for error handling\n */\n onError?: (error: Error | string) => void;\n}\n\nexport class DynatraceTransport extends LoggerlessTransport {\n private url: string;\n private onError?: (error: Error | string) => void;\n private ingestToken: string;\n\n constructor(config: DynatraceTransportConfig) {\n super(config);\n this.url = config.url;\n this.onError = config.onError;\n this.ingestToken = config.ingestToken;\n }\n\n shipToLogger({ logLevel, messages, data, hasData }: LogLayerTransportParams): any[] {\n // Only use the string messages for content\n const stringMessages = messages.filter((msg) => typeof msg === \"string\");\n const message = stringMessages.join(\" \");\n\n const payload: Record<string, any> = {\n content: message,\n severity: logLevel,\n timestamp: new Date().toISOString(),\n ...(data && hasData ? data : {}),\n };\n\n const content = JSON.stringify(payload);\n\n fetch(this.url, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json; charset=utf-8\",\n Authorization: `Api-Token ${this.ingestToken}`,\n },\n body: content,\n })\n .then((response) => {\n if (!response.ok) {\n const error = `Failed to send log to Dynatrace: ${response.statusText}`;\n if (this.onError) {\n this.onError(error);\n }\n }\n })\n .catch((error) => {\n if (this.onError) {\n this.onError(error);\n } else {\n console.error(\"Error sending log to Dynatrace:\", error);\n }\n });\n\n return messages;\n }\n}\n"],"mappings":";AAAA,SAAS,2BAAyF;AAqB3F,IAAM,qBAAN,cAAiC,oBAAoB;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EAER,YAAY,QAAkC;AAC5C,UAAM,MAAM;AACZ,SAAK,MAAM,OAAO;AAClB,SAAK,UAAU,OAAO;AACtB,SAAK,cAAc,OAAO;AAAA,EAC5B;AAAA,EAEA,aAAa,EAAE,UAAU,UAAU,MAAM,QAAQ,GAAmC;AAElF,UAAM,iBAAiB,SAAS,OAAO,CAAC,QAAQ,OAAO,QAAQ,QAAQ;AACvE,UAAM,UAAU,eAAe,KAAK,GAAG;AAEvC,UAAM,UAA+B;AAAA,MACnC,SAAS;AAAA,MACT,UAAU;AAAA,MACV,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,MAClC,GAAI,QAAQ,UAAU,OAAO,CAAC;AAAA,IAChC;AAEA,UAAM,UAAU,KAAK,UAAU,OAAO;AAEtC,UAAM,KAAK,KAAK;AAAA,MACd,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,eAAe,aAAa,KAAK,WAAW;AAAA,MAC9C;AAAA,MACA,MAAM;AAAA,IACR,CAAC,EACE,KAAK,CAAC,aAAa;AAClB,UAAI,CAAC,SAAS,IAAI;AAChB,cAAM,QAAQ,oCAAoC,SAAS,UAAU;AACrE,YAAI,KAAK,SAAS;AAChB,eAAK,QAAQ,KAAK;AAAA,QACpB;AAAA,MACF;AAAA,IACF,CAAC,EACA,MAAM,CAAC,UAAU;AAChB,UAAI,KAAK,SAAS;AAChB,aAAK,QAAQ,KAAK;AAAA,MACpB,OAAO;AACL,gBAAQ,MAAM,mCAAmC,KAAK;AAAA,MACxD;AAAA,IACF,CAAC;AAEH,WAAO;AAAA,EACT;AACF;","names":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@loglayer/transport-dynatrace",
3
3
  "description": "Dynatrace transport for the LogLayer logging library.",
4
- "version": "2.0.4",
4
+ "version": "2.1.1",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
7
7
  "module": "./dist/index.js",
@@ -17,7 +17,11 @@
17
17
  },
18
18
  "types": "./dist/index.d.ts",
19
19
  "license": "MIT",
20
- "repository": "loglayer/loglayer.git",
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "https://github.com/loglayer/loglayer.git",
23
+ "directory": "packages/transports/dynatrace"
24
+ },
21
25
  "author": "Theo Gravity <theo@suteki.nu>",
22
26
  "keywords": [
23
27
  "logging",
@@ -27,18 +31,18 @@
27
31
  "transport"
28
32
  ],
29
33
  "dependencies": {
30
- "@loglayer/transport": "2.1.1"
34
+ "@loglayer/transport": "2.2.1"
31
35
  },
32
36
  "devDependencies": {
33
37
  "hash-runner": "2.0.1",
34
- "@types/node": "22.13.5",
38
+ "@types/node": "22.15.17",
35
39
  "serialize-error": "12.0.0",
36
- "tsup": "8.3.6",
37
- "typescript": "5.7.3",
38
- "vitest": "3.0.6",
39
- "tsx": "4.19.3",
40
- "loglayer": "6.3.1",
41
- "@internal/tsconfig": "2.0.0"
40
+ "tsup": "8.5.0",
41
+ "typescript": "5.8.3",
42
+ "vitest": "3.2.4",
43
+ "tsx": "4.20.3",
44
+ "loglayer": "6.4.3",
45
+ "@internal/tsconfig": "2.1.0"
42
46
  },
43
47
  "bugs": "https://github.com/loglayer/loglayer/issues",
44
48
  "engines": {