@loglayer/transport-logflare 2.0.4 → 2.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 CHANGED
@@ -1,6 +1,5 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  let _loglayer_transport_http = require("@loglayer/transport-http");
3
-
4
3
  //#region src/LogflareTransport.ts
5
4
  /**
6
5
  * LogflareTransport is responsible for sending logs to Logflare.
@@ -43,7 +42,7 @@ var LogflareTransport = class extends _loglayer_transport_http.HttpTransport {
43
42
  });
44
43
  }
45
44
  };
46
-
47
45
  //#endregion
48
46
  exports.LogflareTransport = LogflareTransport;
47
+
49
48
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["HttpTransport"],"sources":["../src/LogflareTransport.ts"],"sourcesContent":["import type { HttpTransportConfig } from \"@loglayer/transport-http\";\nimport { HttpTransport } from \"@loglayer/transport-http\";\n\n/**\n * Configuration options for the Logflare transport.\n * This is essentially a wrapper around HttpTransport with Logflare specific defaults.\n */\nexport interface LogflareTransportConfig extends Omit<HttpTransportConfig, \"url\" | \"headers\" | \"payloadTemplate\"> {\n /**\n * Your Logflare source ID\n */\n sourceId: string;\n /**\n * Your Logflare API key\n */\n apiKey: string;\n /**\n * Custom Logflare API endpoint (for self-hosted instances)\n * @default \"https://api.logflare.app\"\n */\n url?: string;\n /**\n * Function to transform log data into the payload format (optional, defaults to Logflare format)\n */\n payloadTemplate?: (data: { logLevel: string; message: string; data?: Record<string, any> }) => string;\n}\n\n/**\n * LogflareTransport is responsible for sending logs to Logflare.\n * It extends HttpTransport with Logflare-specific configuration.\n *\n * Features:\n * - Automatic Logflare JSON format\n * - Retry logic with exponential backoff (via HttpTransport)\n * - Rate limiting support (via HttpTransport)\n * - Batch sending with configurable size and timeout (via HttpTransport)\n * - Error and debug callbacks\n * - Support for self-hosted Logflare instances\n */\nexport class LogflareTransport extends HttpTransport {\n constructor(config: LogflareTransportConfig) {\n const apiEndpoint = config.url ?? \"https://api.logflare.app\";\n const fullUrl = `${apiEndpoint}/logs/json?source=${config.sourceId}`;\n\n const payloadTemplate =\n config.payloadTemplate ??\n (({ logLevel, message, data }) => {\n const logEntry: Record<string, any> = {\n message,\n };\n\n // Always include level in metadata\n const metadata: Record<string, any> = {\n level: logLevel,\n };\n\n // Add additional metadata if data is provided\n if (data) {\n Object.assign(metadata, data);\n }\n\n logEntry.metadata = metadata;\n\n return JSON.stringify(logEntry);\n });\n\n // Create HTTP transport config, excluding Logflare-specific properties\n const httpConfig = { ...config };\n delete httpConfig.sourceId;\n delete httpConfig.apiKey;\n delete httpConfig.url;\n delete httpConfig.payloadTemplate;\n\n super({\n url: fullUrl,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json; charset=utf-8\",\n \"X-API-KEY\": config.apiKey,\n },\n payloadTemplate,\n batchMode: \"field\", // Use Logflare's batch format\n batchFieldName: \"batch\", // Use Logflare's batch field name\n ...httpConfig,\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAuCA,IAAa,oBAAb,cAAuCA,uCAAc;CACnD,YAAY,QAAiC;EAE3C,MAAM,UAAU,GADI,OAAO,OAAO,2BACH,oBAAoB,OAAO;EAE1D,MAAM,kBACJ,OAAO,qBACL,EAAE,UAAU,SAAS,WAAW;GAChC,MAAM,WAAgC,EACpC,SACD;GAGD,MAAM,WAAgC,EACpC,OAAO,UACR;AAGD,OAAI,KACF,QAAO,OAAO,UAAU,KAAK;AAG/B,YAAS,WAAW;AAEpB,UAAO,KAAK,UAAU,SAAS;;EAInC,MAAM,aAAa,EAAE,GAAG,QAAQ;AAChC,SAAO,WAAW;AAClB,SAAO,WAAW;AAClB,SAAO,WAAW;AAClB,SAAO,WAAW;AAElB,QAAM;GACJ,KAAK;GACL,QAAQ;GACR,SAAS;IACP,gBAAgB;IAChB,aAAa,OAAO;IACrB;GACD;GACA,WAAW;GACX,gBAAgB;GAChB,GAAG;GACJ,CAAC"}
1
+ {"version":3,"file":"index.cjs","names":["HttpTransport"],"sources":["../src/LogflareTransport.ts"],"sourcesContent":["import type { HttpTransportConfig } from \"@loglayer/transport-http\";\nimport { HttpTransport } from \"@loglayer/transport-http\";\n\n/**\n * Configuration options for the Logflare transport.\n * This is essentially a wrapper around HttpTransport with Logflare specific defaults.\n */\nexport interface LogflareTransportConfig extends Omit<HttpTransportConfig, \"url\" | \"headers\" | \"payloadTemplate\"> {\n /**\n * Your Logflare source ID\n */\n sourceId: string;\n /**\n * Your Logflare API key\n */\n apiKey: string;\n /**\n * Custom Logflare API endpoint (for self-hosted instances)\n * @default \"https://api.logflare.app\"\n */\n url?: string;\n /**\n * Function to transform log data into the payload format (optional, defaults to Logflare format)\n */\n payloadTemplate?: (data: { logLevel: string; message: string; data?: Record<string, any> }) => string;\n}\n\n/**\n * LogflareTransport is responsible for sending logs to Logflare.\n * It extends HttpTransport with Logflare-specific configuration.\n *\n * Features:\n * - Automatic Logflare JSON format\n * - Retry logic with exponential backoff (via HttpTransport)\n * - Rate limiting support (via HttpTransport)\n * - Batch sending with configurable size and timeout (via HttpTransport)\n * - Error and debug callbacks\n * - Support for self-hosted Logflare instances\n */\nexport class LogflareTransport extends HttpTransport {\n constructor(config: LogflareTransportConfig) {\n const apiEndpoint = config.url ?? \"https://api.logflare.app\";\n const fullUrl = `${apiEndpoint}/logs/json?source=${config.sourceId}`;\n\n const payloadTemplate =\n config.payloadTemplate ??\n (({ logLevel, message, data }) => {\n const logEntry: Record<string, any> = {\n message,\n };\n\n // Always include level in metadata\n const metadata: Record<string, any> = {\n level: logLevel,\n };\n\n // Add additional metadata if data is provided\n if (data) {\n Object.assign(metadata, data);\n }\n\n logEntry.metadata = metadata;\n\n return JSON.stringify(logEntry);\n });\n\n // Create HTTP transport config, excluding Logflare-specific properties\n const httpConfig = { ...config };\n delete httpConfig.sourceId;\n delete httpConfig.apiKey;\n delete httpConfig.url;\n delete httpConfig.payloadTemplate;\n\n super({\n url: fullUrl,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json; charset=utf-8\",\n \"X-API-KEY\": config.apiKey,\n },\n payloadTemplate,\n batchMode: \"field\", // Use Logflare's batch format\n batchFieldName: \"batch\", // Use Logflare's batch field name\n ...httpConfig,\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAuCA,IAAa,oBAAb,cAAuCA,yBAAAA,cAAc;CACnD,YAAY,QAAiC;EAE3C,MAAM,UAAU,GADI,OAAO,OAAO,2BACH,oBAAoB,OAAO;EAE1D,MAAM,kBACJ,OAAO,qBACL,EAAE,UAAU,SAAS,WAAW;GAChC,MAAM,WAAgC,EACpC,QACF;GAGA,MAAM,WAAgC,EACpC,OAAO,SACT;GAGA,IAAI,MACF,OAAO,OAAO,UAAU,IAAI;GAG9B,SAAS,WAAW;GAEpB,OAAO,KAAK,UAAU,QAAQ;EAChC;EAGF,MAAM,aAAa,EAAE,GAAG,OAAO;EAC/B,OAAO,WAAW;EAClB,OAAO,WAAW;EAClB,OAAO,WAAW;EAClB,OAAO,WAAW;EAElB,MAAM;GACJ,KAAK;GACL,QAAQ;GACR,SAAS;IACP,gBAAgB;IAChB,aAAa,OAAO;GACtB;GACA;GACA,WAAW;GACX,gBAAgB;GAChB,GAAG;EACL,CAAC;CACH;AACF"}
package/dist/index.mjs CHANGED
@@ -1,5 +1,4 @@
1
1
  import { HttpTransport } from "@loglayer/transport-http";
2
-
3
2
  //#region src/LogflareTransport.ts
4
3
  /**
5
4
  * LogflareTransport is responsible for sending logs to Logflare.
@@ -42,7 +41,7 @@ var LogflareTransport = class extends HttpTransport {
42
41
  });
43
42
  }
44
43
  };
45
-
46
44
  //#endregion
47
45
  export { LogflareTransport };
46
+
48
47
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../src/LogflareTransport.ts"],"sourcesContent":["import type { HttpTransportConfig } from \"@loglayer/transport-http\";\nimport { HttpTransport } from \"@loglayer/transport-http\";\n\n/**\n * Configuration options for the Logflare transport.\n * This is essentially a wrapper around HttpTransport with Logflare specific defaults.\n */\nexport interface LogflareTransportConfig extends Omit<HttpTransportConfig, \"url\" | \"headers\" | \"payloadTemplate\"> {\n /**\n * Your Logflare source ID\n */\n sourceId: string;\n /**\n * Your Logflare API key\n */\n apiKey: string;\n /**\n * Custom Logflare API endpoint (for self-hosted instances)\n * @default \"https://api.logflare.app\"\n */\n url?: string;\n /**\n * Function to transform log data into the payload format (optional, defaults to Logflare format)\n */\n payloadTemplate?: (data: { logLevel: string; message: string; data?: Record<string, any> }) => string;\n}\n\n/**\n * LogflareTransport is responsible for sending logs to Logflare.\n * It extends HttpTransport with Logflare-specific configuration.\n *\n * Features:\n * - Automatic Logflare JSON format\n * - Retry logic with exponential backoff (via HttpTransport)\n * - Rate limiting support (via HttpTransport)\n * - Batch sending with configurable size and timeout (via HttpTransport)\n * - Error and debug callbacks\n * - Support for self-hosted Logflare instances\n */\nexport class LogflareTransport extends HttpTransport {\n constructor(config: LogflareTransportConfig) {\n const apiEndpoint = config.url ?? \"https://api.logflare.app\";\n const fullUrl = `${apiEndpoint}/logs/json?source=${config.sourceId}`;\n\n const payloadTemplate =\n config.payloadTemplate ??\n (({ logLevel, message, data }) => {\n const logEntry: Record<string, any> = {\n message,\n };\n\n // Always include level in metadata\n const metadata: Record<string, any> = {\n level: logLevel,\n };\n\n // Add additional metadata if data is provided\n if (data) {\n Object.assign(metadata, data);\n }\n\n logEntry.metadata = metadata;\n\n return JSON.stringify(logEntry);\n });\n\n // Create HTTP transport config, excluding Logflare-specific properties\n const httpConfig = { ...config };\n delete httpConfig.sourceId;\n delete httpConfig.apiKey;\n delete httpConfig.url;\n delete httpConfig.payloadTemplate;\n\n super({\n url: fullUrl,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json; charset=utf-8\",\n \"X-API-KEY\": config.apiKey,\n },\n payloadTemplate,\n batchMode: \"field\", // Use Logflare's batch format\n batchFieldName: \"batch\", // Use Logflare's batch field name\n ...httpConfig,\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAuCA,IAAa,oBAAb,cAAuC,cAAc;CACnD,YAAY,QAAiC;EAE3C,MAAM,UAAU,GADI,OAAO,OAAO,2BACH,oBAAoB,OAAO;EAE1D,MAAM,kBACJ,OAAO,qBACL,EAAE,UAAU,SAAS,WAAW;GAChC,MAAM,WAAgC,EACpC,SACD;GAGD,MAAM,WAAgC,EACpC,OAAO,UACR;AAGD,OAAI,KACF,QAAO,OAAO,UAAU,KAAK;AAG/B,YAAS,WAAW;AAEpB,UAAO,KAAK,UAAU,SAAS;;EAInC,MAAM,aAAa,EAAE,GAAG,QAAQ;AAChC,SAAO,WAAW;AAClB,SAAO,WAAW;AAClB,SAAO,WAAW;AAClB,SAAO,WAAW;AAElB,QAAM;GACJ,KAAK;GACL,QAAQ;GACR,SAAS;IACP,gBAAgB;IAChB,aAAa,OAAO;IACrB;GACD;GACA,WAAW;GACX,gBAAgB;GAChB,GAAG;GACJ,CAAC"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../src/LogflareTransport.ts"],"sourcesContent":["import type { HttpTransportConfig } from \"@loglayer/transport-http\";\nimport { HttpTransport } from \"@loglayer/transport-http\";\n\n/**\n * Configuration options for the Logflare transport.\n * This is essentially a wrapper around HttpTransport with Logflare specific defaults.\n */\nexport interface LogflareTransportConfig extends Omit<HttpTransportConfig, \"url\" | \"headers\" | \"payloadTemplate\"> {\n /**\n * Your Logflare source ID\n */\n sourceId: string;\n /**\n * Your Logflare API key\n */\n apiKey: string;\n /**\n * Custom Logflare API endpoint (for self-hosted instances)\n * @default \"https://api.logflare.app\"\n */\n url?: string;\n /**\n * Function to transform log data into the payload format (optional, defaults to Logflare format)\n */\n payloadTemplate?: (data: { logLevel: string; message: string; data?: Record<string, any> }) => string;\n}\n\n/**\n * LogflareTransport is responsible for sending logs to Logflare.\n * It extends HttpTransport with Logflare-specific configuration.\n *\n * Features:\n * - Automatic Logflare JSON format\n * - Retry logic with exponential backoff (via HttpTransport)\n * - Rate limiting support (via HttpTransport)\n * - Batch sending with configurable size and timeout (via HttpTransport)\n * - Error and debug callbacks\n * - Support for self-hosted Logflare instances\n */\nexport class LogflareTransport extends HttpTransport {\n constructor(config: LogflareTransportConfig) {\n const apiEndpoint = config.url ?? \"https://api.logflare.app\";\n const fullUrl = `${apiEndpoint}/logs/json?source=${config.sourceId}`;\n\n const payloadTemplate =\n config.payloadTemplate ??\n (({ logLevel, message, data }) => {\n const logEntry: Record<string, any> = {\n message,\n };\n\n // Always include level in metadata\n const metadata: Record<string, any> = {\n level: logLevel,\n };\n\n // Add additional metadata if data is provided\n if (data) {\n Object.assign(metadata, data);\n }\n\n logEntry.metadata = metadata;\n\n return JSON.stringify(logEntry);\n });\n\n // Create HTTP transport config, excluding Logflare-specific properties\n const httpConfig = { ...config };\n delete httpConfig.sourceId;\n delete httpConfig.apiKey;\n delete httpConfig.url;\n delete httpConfig.payloadTemplate;\n\n super({\n url: fullUrl,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json; charset=utf-8\",\n \"X-API-KEY\": config.apiKey,\n },\n payloadTemplate,\n batchMode: \"field\", // Use Logflare's batch format\n batchFieldName: \"batch\", // Use Logflare's batch field name\n ...httpConfig,\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAuCA,IAAa,oBAAb,cAAuC,cAAc;CACnD,YAAY,QAAiC;EAE3C,MAAM,UAAU,GADI,OAAO,OAAO,2BACH,oBAAoB,OAAO;EAE1D,MAAM,kBACJ,OAAO,qBACL,EAAE,UAAU,SAAS,WAAW;GAChC,MAAM,WAAgC,EACpC,QACF;GAGA,MAAM,WAAgC,EACpC,OAAO,SACT;GAGA,IAAI,MACF,OAAO,OAAO,UAAU,IAAI;GAG9B,SAAS,WAAW;GAEpB,OAAO,KAAK,UAAU,QAAQ;EAChC;EAGF,MAAM,aAAa,EAAE,GAAG,OAAO;EAC/B,OAAO,WAAW;EAClB,OAAO,WAAW;EAClB,OAAO,WAAW;EAClB,OAAO,WAAW;EAElB,MAAM;GACJ,KAAK;GACL,QAAQ;GACR,SAAS;IACP,gBAAgB;IAChB,aAAa,OAAO;GACtB;GACA;GACA,WAAW;GACX,gBAAgB;GAChB,GAAG;EACL,CAAC;CACH;AACF"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@loglayer/transport-logflare",
3
3
  "description": "Logflare transport for the LogLayer logging library.",
4
- "version": "2.0.4",
4
+ "version": "2.2.0",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
7
7
  "module": "./dist/index.mjs",
@@ -32,19 +32,19 @@
32
32
  "transport"
33
33
  ],
34
34
  "dependencies": {
35
- "@loglayer/transport-http": "2.1.1"
35
+ "@loglayer/transport-http": "2.3.0"
36
36
  },
37
37
  "devDependencies": {
38
- "@types/node": "25.2.3",
39
- "dotenv": "17.3.1",
38
+ "@types/node": "25.9.1",
39
+ "dotenv": "17.4.2",
40
40
  "serialize-error": "13.0.1",
41
- "tsdown": "0.20.3",
42
- "tsx": "4.21.0",
43
- "typescript": "5.9.3",
44
- "vitest": "4.0.18",
41
+ "tsdown": "0.22.1",
42
+ "tsx": "4.22.3",
43
+ "typescript": "6.0.3",
44
+ "vitest": "4.1.7",
45
45
  "@internal/tsconfig": "2.1.0",
46
- "@loglayer/transport": "3.0.3",
47
- "loglayer": "9.1.1"
46
+ "@loglayer/transport": "3.2.0",
47
+ "loglayer": "9.3.0"
48
48
  },
49
49
  "bugs": "https://github.com/loglayer/loglayer/issues",
50
50
  "engines": {