@loglayer/transport-dynatrace 3.0.3 → 3.2.0
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 +2 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +1 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +8 -8
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value:
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
let _loglayer_transport = require("@loglayer/transport");
|
|
3
|
-
|
|
4
3
|
//#region src/DynatraceTransport.ts
|
|
5
4
|
var DynatraceTransport = class extends _loglayer_transport.LoggerlessTransport {
|
|
6
5
|
url;
|
|
@@ -39,7 +38,7 @@ var DynatraceTransport = class extends _loglayer_transport.LoggerlessTransport {
|
|
|
39
38
|
return messages;
|
|
40
39
|
}
|
|
41
40
|
};
|
|
42
|
-
|
|
43
41
|
//#endregion
|
|
44
42
|
exports.DynatraceTransport = DynatraceTransport;
|
|
43
|
+
|
|
45
44
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["LoggerlessTransport"],"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":"
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["LoggerlessTransport"],"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":";;;AAqBA,IAAa,qBAAb,cAAwCA,oBAAAA,oBAAoB;CAC1D;CACA;CACA;CAEA,YAAY,QAAkC;EAC5C,MAAM,MAAM;EACZ,KAAK,MAAM,OAAO;EAClB,KAAK,UAAU,OAAO;EACtB,KAAK,cAAc,OAAO;CAC5B;CAEA,aAAa,EAAE,UAAU,UAAU,MAAM,WAA2C;EAKlF,MAAM,UAA+B;GACnC,SAJqB,SAAS,QAAQ,QAAQ,OAAO,QAAQ,QAClC,EAAE,KAAK,GAGnB;GACf,UAAU;GACV,4BAAW,IAAI,KAAK,GAAE,YAAY;GAClC,GAAI,QAAQ,UAAU,OAAO,CAAC;EAChC;EAEA,MAAM,UAAU,KAAK,UAAU,OAAO;EAEtC,MAAM,KAAK,KAAK;GACd,QAAQ;GACR,SAAS;IACP,gBAAgB;IAChB,eAAe,aAAa,KAAK;GACnC;GACA,MAAM;EACR,CAAC,EACE,MAAM,aAAa;GAClB,IAAI,CAAC,SAAS,IAAI;IAChB,MAAM,QAAQ,oCAAoC,SAAS;IAC3D,IAAI,KAAK,SACP,KAAK,QAAQ,KAAK;GAEtB;EACF,CAAC,EACA,OAAO,UAAU;GAChB,IAAI,KAAK,SACP,KAAK,QAAQ,KAAK;QAElB,QAAQ,MAAM,mCAAmC,KAAK;EAE1D,CAAC;EAEH,OAAO;CACT;AACF"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { LoggerlessTransport } from "@loglayer/transport";
|
|
2
|
-
|
|
3
2
|
//#region src/DynatraceTransport.ts
|
|
4
3
|
var DynatraceTransport = class extends LoggerlessTransport {
|
|
5
4
|
url;
|
|
@@ -38,7 +37,7 @@ var DynatraceTransport = class extends LoggerlessTransport {
|
|
|
38
37
|
return messages;
|
|
39
38
|
}
|
|
40
39
|
};
|
|
41
|
-
|
|
42
40
|
//#endregion
|
|
43
41
|
export { DynatraceTransport };
|
|
42
|
+
|
|
44
43
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"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":"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"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":";;AAqBA,IAAa,qBAAb,cAAwC,oBAAoB;CAC1D;CACA;CACA;CAEA,YAAY,QAAkC;EAC5C,MAAM,MAAM;EACZ,KAAK,MAAM,OAAO;EAClB,KAAK,UAAU,OAAO;EACtB,KAAK,cAAc,OAAO;CAC5B;CAEA,aAAa,EAAE,UAAU,UAAU,MAAM,WAA2C;EAKlF,MAAM,UAA+B;GACnC,SAJqB,SAAS,QAAQ,QAAQ,OAAO,QAAQ,QAClC,EAAE,KAAK,GAGnB;GACf,UAAU;GACV,4BAAW,IAAI,KAAK,GAAE,YAAY;GAClC,GAAI,QAAQ,UAAU,OAAO,CAAC;EAChC;EAEA,MAAM,UAAU,KAAK,UAAU,OAAO;EAEtC,MAAM,KAAK,KAAK;GACd,QAAQ;GACR,SAAS;IACP,gBAAgB;IAChB,eAAe,aAAa,KAAK;GACnC;GACA,MAAM;EACR,CAAC,EACE,MAAM,aAAa;GAClB,IAAI,CAAC,SAAS,IAAI;IAChB,MAAM,QAAQ,oCAAoC,SAAS;IAC3D,IAAI,KAAK,SACP,KAAK,QAAQ,KAAK;GAEtB;EACF,CAAC,EACA,OAAO,UAAU;GAChB,IAAI,KAAK,SACP,KAAK,QAAQ,KAAK;QAElB,QAAQ,MAAM,mCAAmC,KAAK;EAE1D,CAAC;EAEH,OAAO;CACT;AACF"}
|
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": "3.0
|
|
4
|
+
"version": "3.2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
7
7
|
"module": "./dist/index.mjs",
|
|
@@ -32,17 +32,17 @@
|
|
|
32
32
|
"transport"
|
|
33
33
|
],
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@loglayer/transport": "3.0
|
|
35
|
+
"@loglayer/transport": "3.2.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@types/node": "25.
|
|
38
|
+
"@types/node": "25.9.1",
|
|
39
39
|
"serialize-error": "13.0.1",
|
|
40
|
-
"tsdown": "0.
|
|
41
|
-
"tsx": "4.
|
|
42
|
-
"typescript": "
|
|
43
|
-
"vitest": "4.
|
|
40
|
+
"tsdown": "0.22.1",
|
|
41
|
+
"tsx": "4.22.3",
|
|
42
|
+
"typescript": "6.0.3",
|
|
43
|
+
"vitest": "4.1.7",
|
|
44
44
|
"@internal/tsconfig": "2.1.0",
|
|
45
|
-
"loglayer": "9.
|
|
45
|
+
"loglayer": "9.3.0"
|
|
46
46
|
},
|
|
47
47
|
"bugs": "https://github.com/loglayer/loglayer/issues",
|
|
48
48
|
"engines": {
|