@logdash/node 1.0.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.
Files changed (53) hide show
  1. package/.changeset/README.md +8 -0
  2. package/.changeset/config.json +11 -0
  3. package/.editorconfig +13 -0
  4. package/.github/workflows/build-and-publish.yml +39 -0
  5. package/.github/workflows/ci.yml +36 -0
  6. package/.prettierignore +12 -0
  7. package/.prettierrc +12 -0
  8. package/CHANGELOG.md +146 -0
  9. package/LICENSE.md +21 -0
  10. package/README.md +81 -0
  11. package/dist/Logdash.d.ts +36 -0
  12. package/dist/Logdash.d.ts.map +1 -0
  13. package/dist/Logdash.js +145 -0
  14. package/dist/Logdash.js.map +1 -0
  15. package/dist/__tests__/HttpTransport.test.d.ts +2 -0
  16. package/dist/__tests__/HttpTransport.test.d.ts.map +1 -0
  17. package/dist/__tests__/HttpTransport.test.js +148 -0
  18. package/dist/__tests__/HttpTransport.test.js.map +1 -0
  19. package/dist/__tests__/Logdash.test.d.ts +2 -0
  20. package/dist/__tests__/Logdash.test.d.ts.map +1 -0
  21. package/dist/__tests__/Logdash.test.js +131 -0
  22. package/dist/__tests__/Logdash.test.js.map +1 -0
  23. package/dist/__tests__/RequestQueue.test.d.ts +2 -0
  24. package/dist/__tests__/RequestQueue.test.d.ts.map +1 -0
  25. package/dist/__tests__/RequestQueue.test.js +129 -0
  26. package/dist/__tests__/RequestQueue.test.js.map +1 -0
  27. package/dist/index.d.ts +4 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +3 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/logger/internalLogger.d.ts +7 -0
  32. package/dist/logger/internalLogger.d.ts.map +1 -0
  33. package/dist/logger/internalLogger.js +17 -0
  34. package/dist/logger/internalLogger.js.map +1 -0
  35. package/dist/queue/RequestQueue.d.ts +24 -0
  36. package/dist/queue/RequestQueue.d.ts.map +1 -0
  37. package/dist/queue/RequestQueue.js +87 -0
  38. package/dist/queue/RequestQueue.js.map +1 -0
  39. package/dist/transport/HttpTransport.d.ts +28 -0
  40. package/dist/transport/HttpTransport.d.ts.map +1 -0
  41. package/dist/transport/HttpTransport.js +37 -0
  42. package/dist/transport/HttpTransport.js.map +1 -0
  43. package/dist/types/LogLevel.d.ts +10 -0
  44. package/dist/types/LogLevel.d.ts.map +1 -0
  45. package/dist/types/LogLevel.js +11 -0
  46. package/dist/types/LogLevel.js.map +1 -0
  47. package/docs/delta.png +0 -0
  48. package/docs/logs.png +0 -0
  49. package/package.json +49 -0
  50. package/test.ts +32 -0
  51. package/tsconfig.json +20 -0
  52. package/tsconfig.lib.json +29 -0
  53. package/vite.config.ts +8 -0
@@ -0,0 +1,8 @@
1
+ # Changesets
2
+
3
+ Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
4
+ with multi-package repos, or single-package repos to help you version and publish your code. You can
5
+ find the full documentation for it [in our repository](https://github.com/changesets/changesets)
6
+
7
+ We have a quick list of common questions to get you started engaging with this project in
8
+ [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
@@ -0,0 +1,11 @@
1
+ {
2
+ "$schema": "https://unpkg.com/@changesets/config@3.0.5/schema.json",
3
+ "changelog": "@changesets/cli/changelog",
4
+ "commit": false,
5
+ "fixed": [],
6
+ "linked": [],
7
+ "access": "public",
8
+ "baseBranch": "main",
9
+ "updateInternalDependencies": "patch",
10
+ "ignore": []
11
+ }
package/.editorconfig ADDED
@@ -0,0 +1,13 @@
1
+ # Editor configuration, see http://editorconfig.org
2
+ root = true
3
+
4
+ [*]
5
+ charset = utf-8
6
+ indent_style = space
7
+ indent_size = 4
8
+ insert_final_newline = true
9
+ trim_trailing_whitespace = true
10
+
11
+ [*.md]
12
+ max_line_length = off
13
+ trim_trailing_whitespace = false
@@ -0,0 +1,39 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ concurrency: ${{ github.workflow }}-${{ github.ref }}
9
+
10
+ jobs:
11
+ release:
12
+ name: Release
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - name: Checkout Repo
16
+ uses: actions/checkout@v4
17
+
18
+ - name: Install pnpm
19
+ uses: pnpm/action-setup@v4
20
+ with:
21
+ version: 9.0.0
22
+
23
+ - name: Setup Node.js 20.x
24
+ uses: actions/setup-node@v4
25
+ with:
26
+ node-version: 20.x
27
+
28
+ - name: Install Dependencies
29
+ run: pnpm i
30
+
31
+ - name: Create Release Pull Request or Publish to npm
32
+ id: changesets
33
+ uses: changesets/action@v1
34
+ with:
35
+ # This expects you to have a script called release which does a build for your packages and calls changeset publish
36
+ publish: pnpm release
37
+ env:
38
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
39
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
@@ -0,0 +1,36 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+
13
+ strategy:
14
+ matrix:
15
+ node-version: [18, 20, 22]
16
+
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+
20
+ - name: Install pnpm
21
+ uses: pnpm/action-setup@v4
22
+
23
+ - name: Use Node.js ${{ matrix.node-version }}
24
+ uses: actions/setup-node@v4
25
+ with:
26
+ node-version: ${{ matrix.node-version }}
27
+ cache: 'pnpm'
28
+
29
+ - name: Install dependencies
30
+ run: pnpm install
31
+
32
+ - name: Build
33
+ run: pnpm build
34
+
35
+ - name: Test
36
+ run: pnpm test
@@ -0,0 +1,12 @@
1
+ .DS_Store
2
+ .svelte-kit
3
+ node_modules
4
+ /build
5
+ /package
6
+ .env
7
+ .env.*
8
+ !.env.example
9
+ vite.config.js*
10
+
11
+ pnpm-lock.yaml
12
+ pnpm-workspace.yaml
package/.prettierrc ADDED
@@ -0,0 +1,12 @@
1
+ {
2
+ "useTabs": true,
3
+ "singleQuote": true,
4
+ "trailingComma": "all",
5
+ "printWidth": 80,
6
+ "semi": true,
7
+ "proseWrap": "preserve",
8
+ "endOfLine": "lf",
9
+ "tabWidth": 4,
10
+ "arrowParens": "always",
11
+ "htmlWhitespaceSensitivity": "ignore"
12
+ }
package/CHANGELOG.md ADDED
@@ -0,0 +1,146 @@
1
+ # @logdash/core
2
+
3
+ ## 1.0.9
4
+
5
+ ### Patch Changes
6
+
7
+ - 6d8dc70: feat: stringify json arguments
8
+
9
+ ## 1.0.8
10
+
11
+ ### Patch Changes
12
+
13
+ - a9ece96: chore: update readme with metrics
14
+
15
+ ## 1.0.7
16
+
17
+ ### Patch Changes
18
+
19
+ - 1f07662: chore: noop
20
+
21
+ ## 1.0.6
22
+
23
+ ### Patch Changes
24
+
25
+ - 43c9f2b: feat: batch improvements
26
+
27
+ ## 1.0.5
28
+
29
+ ### Patch Changes
30
+
31
+ - ce5af16: feat: add verbose metrics and host property
32
+
33
+ ## 1.0.4
34
+
35
+ ### Patch Changes
36
+
37
+ - 6fa859b: feat: adjust contracts
38
+
39
+ ## 1.0.3
40
+
41
+ ### Patch Changes
42
+
43
+ - 05215d9: fix: fix dto
44
+
45
+ ## 1.0.2
46
+
47
+ ### Patch Changes
48
+
49
+ - 16a8a5e: fix: add export
50
+
51
+ ## 1.0.1
52
+
53
+ ### Patch Changes
54
+
55
+ - 51b6213: feat: add metrics
56
+
57
+ ## 1.0.0
58
+
59
+ ### Major Changes
60
+
61
+ - c4fdbc3: fix: pretty logs, fix docs typos, etc
62
+
63
+ ## 0.3.8
64
+
65
+ ### Patch Changes
66
+
67
+ - 8e69ab7: feat: add info method
68
+
69
+ ## 0.3.7
70
+
71
+ ### Patch Changes
72
+
73
+ - 62f0ae6: feat: improve contract
74
+
75
+ ## 0.3.6
76
+
77
+ ### Patch Changes
78
+
79
+ - ce61576: fix date format
80
+
81
+ ## 0.3.5
82
+
83
+ ### Patch Changes
84
+
85
+ - 55d067f: export logger
86
+
87
+ ## 0.3.4
88
+
89
+ ### Patch Changes
90
+
91
+ - 887b6a1: add sequence numbers
92
+
93
+ ## 0.3.3
94
+
95
+ ### Patch Changes
96
+
97
+ - 2adb433: fix: warn->warning
98
+
99
+ ## 0.3.2
100
+
101
+ ### Patch Changes
102
+
103
+ - 6c1ec4f: chore: down chalk
104
+ - a583af0: chore: up lf
105
+
106
+ ## 0.3.1
107
+
108
+ ### Patch Changes
109
+
110
+ - d836249: chore: bump chalk
111
+
112
+ ## 0.3.0
113
+
114
+ ### Minor Changes
115
+
116
+ - f9873fa: fix: remove module type
117
+
118
+ ## 0.2.0
119
+
120
+ ### Minor Changes
121
+
122
+ - 76e2276: fix: chalk import bug
123
+
124
+ ## 0.1.2
125
+
126
+ ### Patch Changes
127
+
128
+ - 5e8f554: fix: imports
129
+
130
+ ## 0.1.1
131
+
132
+ ### Patch Changes
133
+
134
+ - 4078824: fix: lizma
135
+
136
+ ## 0.1.0
137
+
138
+ ### Minor Changes
139
+
140
+ - 5483389: feat: logger
141
+
142
+ ## 0.0.2
143
+
144
+ ### Patch Changes
145
+
146
+ - 4558f7e: chore: changesets
package/LICENSE.md ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 Szymon Grącki
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,81 @@
1
+ # @logdash/node
2
+
3
+ Logdash is a zero-config observability platform. This package serves a Node.js/Bun/Deno/Browser interface to use it.
4
+
5
+ ## Pre-requisites
6
+
7
+ Setup your free project in less than 2 minutes at [logdash.io](https://logdash.io/)
8
+
9
+ ## Installation
10
+
11
+ ```
12
+ npm install @logdash/node
13
+ ```
14
+
15
+ ## Logging
16
+
17
+ ```typescript
18
+ import { Logdash } from '@logdash/node';
19
+
20
+ const logdash = new Logdash('<your-api-key>');
21
+
22
+ logdash.info('Application started successfully');
23
+ logdash.error('An unexpected error occurred');
24
+ logdash.warn('Low disk space warning');
25
+ ```
26
+
27
+ ## Namespaced Logging
28
+
29
+ ```typescript
30
+ const authLogdash = logdash.withNamespace('auth');
31
+ authLogdash.info('User logged in');
32
+ authLogdash.error('Authentication failed');
33
+ ```
34
+
35
+ ## Metrics
36
+
37
+ ```typescript
38
+ import { Logdash } from '@logdash/node';
39
+
40
+ const logdash = new Logdash('<your-api-key>');
41
+
42
+ // to set absolute value
43
+ logdash.setMetric('users', 0);
44
+
45
+ // to modify existing metric
46
+ logdash.mutateMetric('users', 1);
47
+ ```
48
+
49
+ ## Graceful Shutdown
50
+
51
+ ```typescript
52
+ // Ensure all logs and metrics are sent before exiting
53
+ await logdash.flush();
54
+ ```
55
+
56
+ ## View
57
+
58
+ To see the logs or metrics, go to your project dashboard
59
+
60
+ ![logs](docs/logs.png)
61
+ ![delta](docs/delta.png)
62
+
63
+ ## Configuration
64
+
65
+ ```typescript
66
+ new Logdash(apiKey?, options?)
67
+ ```
68
+
69
+ | Parameter | Required | Default | Description |
70
+ | ----------------- | -------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------ |
71
+ | `apiKey` | no | - | Api key used to authorize against logdash servers. If you don't provide one, logs will be logged into local console only |
72
+ | `options.host` | no | `https://api.logdash.io` | Custom API host, useful with self-hosted instances |
73
+ | `options.verbose` | no | `false` | Useful for debugging purposes |
74
+
75
+ ## License
76
+
77
+ This project is licensed under the MIT License.
78
+
79
+ ## Support
80
+
81
+ If you encounter any issues, please open an issue on GitHub or let us know at [contact@logdash.io](mailto:contact@logdash.io).
@@ -0,0 +1,36 @@
1
+ import { RequestQueue } from './queue/RequestQueue.js';
2
+ import { LogPayload, MetricPayload } from './transport/HttpTransport.js';
3
+ export interface LogdashOptions {
4
+ host?: string;
5
+ verbose?: boolean;
6
+ }
7
+ interface LogdashCore {
8
+ logQueue: RequestQueue<LogPayload>;
9
+ metricQueue: RequestQueue<MetricPayload>;
10
+ sequenceNumber: number;
11
+ verbose: boolean;
12
+ }
13
+ export declare class Logdash {
14
+ private readonly core;
15
+ private readonly namespace?;
16
+ constructor(apiKey?: string, options?: LogdashOptions);
17
+ constructor(core: LogdashCore, namespace: string);
18
+ private isLogdashCore;
19
+ error(...data: unknown[]): void;
20
+ warn(...data: unknown[]): void;
21
+ info(...data: unknown[]): void;
22
+ http(...data: unknown[]): void;
23
+ verbose(...data: unknown[]): void;
24
+ debug(...data: unknown[]): void;
25
+ silly(...data: unknown[]): void;
26
+ setMetric(name: string, value: number): void;
27
+ mutateMetric(name: string, delta: number): void;
28
+ withNamespace(name: string): Logdash;
29
+ flush(): Promise<void>;
30
+ destroy(): void;
31
+ private log;
32
+ private printToConsole;
33
+ private formatData;
34
+ }
35
+ export {};
36
+ //# sourceMappingURL=Logdash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logdash.d.ts","sourceRoot":"","sources":["../src/Logdash.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAEN,UAAU,EACV,aAAa,EACb,MAAM,8BAA8B,CAAC;AAGtC,MAAM,WAAW,cAAc;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAYD,UAAU,WAAW;IACpB,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IACnC,WAAW,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,OAAO;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;gBAExB,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;gBACzC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM;IA8BhD,OAAO,CAAC,aAAa;IAWrB,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI9B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI9B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI9B,OAAO,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIjC,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM/B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAa5C,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAe/C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAM9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B,OAAO,IAAI,IAAI;IAOf,OAAO,CAAC,GAAG;IAiBX,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,UAAU;CAclB"}
@@ -0,0 +1,145 @@
1
+ import chalk from 'chalk';
2
+ import { internalLogger } from './logger/internalLogger.js';
3
+ import { RequestQueue } from './queue/RequestQueue.js';
4
+ import { HttpTransport, } from './transport/HttpTransport.js';
5
+ import { LogLevel } from './types/LogLevel.js';
6
+ const LOG_LEVEL_COLORS = {
7
+ [LogLevel.ERROR]: [231, 0, 11],
8
+ [LogLevel.WARN]: [254, 154, 0],
9
+ [LogLevel.INFO]: [21, 93, 252],
10
+ [LogLevel.HTTP]: [0, 166, 166],
11
+ [LogLevel.VERBOSE]: [0, 166, 0],
12
+ [LogLevel.DEBUG]: [0, 166, 62],
13
+ [LogLevel.SILLY]: [80, 80, 80],
14
+ };
15
+ export class Logdash {
16
+ constructor(apiKeyOrCore, optionsOrNamespace) {
17
+ if (this.isLogdashCore(apiKeyOrCore)) {
18
+ // Internal constructor for namespaced instances
19
+ this.core = apiKeyOrCore;
20
+ this.namespace = optionsOrNamespace;
21
+ }
22
+ else {
23
+ // Public constructor: new Logdash(apiKey?, options?)
24
+ const apiKey = apiKeyOrCore ?? '';
25
+ const options = optionsOrNamespace;
26
+ const host = options?.host ?? 'https://api.logdash.io';
27
+ const verbose = options?.verbose ?? false;
28
+ const transport = new HttpTransport({ host, apiKey });
29
+ this.core = {
30
+ logQueue: new RequestQueue((logs) => transport.sendLogs(logs)),
31
+ metricQueue: new RequestQueue((metrics) => transport.sendMetrics(metrics)),
32
+ sequenceNumber: 0,
33
+ verbose,
34
+ };
35
+ this.namespace = undefined;
36
+ }
37
+ }
38
+ isLogdashCore(value) {
39
+ return (typeof value === 'object' &&
40
+ value !== null &&
41
+ 'logQueue' in value &&
42
+ 'metricQueue' in value);
43
+ }
44
+ // === Logging Methods ===
45
+ error(...data) {
46
+ this.log(LogLevel.ERROR, data);
47
+ }
48
+ warn(...data) {
49
+ this.log(LogLevel.WARN, data);
50
+ }
51
+ info(...data) {
52
+ this.log(LogLevel.INFO, data);
53
+ }
54
+ http(...data) {
55
+ this.log(LogLevel.HTTP, data);
56
+ }
57
+ verbose(...data) {
58
+ this.log(LogLevel.VERBOSE, data);
59
+ }
60
+ debug(...data) {
61
+ this.log(LogLevel.DEBUG, data);
62
+ }
63
+ silly(...data) {
64
+ this.log(LogLevel.SILLY, data);
65
+ }
66
+ // === Metric Methods ===
67
+ setMetric(name, value) {
68
+ if (this.core.verbose) {
69
+ internalLogger.verbose(`Setting metric ${name} to ${value}`);
70
+ }
71
+ this.core.metricQueue.add({
72
+ name,
73
+ value,
74
+ operation: 'set',
75
+ namespace: this.namespace,
76
+ });
77
+ }
78
+ mutateMetric(name, delta) {
79
+ if (this.core.verbose) {
80
+ internalLogger.verbose(`Mutating metric ${name} by ${delta}`);
81
+ }
82
+ this.core.metricQueue.add({
83
+ name,
84
+ value: delta,
85
+ operation: 'change',
86
+ namespace: this.namespace,
87
+ });
88
+ }
89
+ // === Namespace ===
90
+ withNamespace(name) {
91
+ return new Logdash(this.core, name);
92
+ }
93
+ // === Lifecycle ===
94
+ async flush() {
95
+ await Promise.all([
96
+ this.core.logQueue.flush(),
97
+ this.core.metricQueue.flush(),
98
+ ]);
99
+ }
100
+ destroy() {
101
+ this.core.logQueue.destroy();
102
+ this.core.metricQueue.destroy();
103
+ }
104
+ // === Private Methods ===
105
+ log(level, data) {
106
+ const message = this.formatData(data);
107
+ const now = new Date();
108
+ // Print to console with colors
109
+ this.printToConsole(level, message, now);
110
+ // Queue for sending
111
+ this.core.logQueue.add({
112
+ message,
113
+ level,
114
+ createdAt: now.toISOString(),
115
+ sequenceNumber: this.core.sequenceNumber++,
116
+ namespace: this.namespace,
117
+ });
118
+ }
119
+ printToConsole(level, message, date) {
120
+ const color = LOG_LEVEL_COLORS[level];
121
+ const datePrefix = chalk.rgb(156, 156, 156)(`[${date.toISOString()}]`);
122
+ const levelPrefix = chalk.rgb(color[0], color[1], color[2])(`${level.toUpperCase()} `);
123
+ const namespacePrefix = this.namespace
124
+ ? chalk.rgb(180, 180, 180)(`[${this.namespace}] `)
125
+ : '';
126
+ const formattedMessage = `${datePrefix} ${levelPrefix}${namespacePrefix}${message}`;
127
+ console.log(formattedMessage);
128
+ }
129
+ formatData(data) {
130
+ return data
131
+ .map((item) => {
132
+ if (typeof item === 'object' && item !== null) {
133
+ try {
134
+ return JSON.stringify(item);
135
+ }
136
+ catch {
137
+ return String(item);
138
+ }
139
+ }
140
+ return String(item);
141
+ })
142
+ .join(' ');
143
+ }
144
+ }
145
+ //# sourceMappingURL=Logdash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logdash.js","sourceRoot":"","sources":["../src/Logdash.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=HttpTransport.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpTransport.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/HttpTransport.test.ts"],"names":[],"mappings":""}