@kacper2076/logger-client 1.0.1 → 1.0.3

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 ADDED
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/index.ts
31
+ var index_exports = {};
32
+ __export(index_exports, {
33
+ LogLevel: () => LogLevel,
34
+ Logger: () => Logger
35
+ });
36
+ module.exports = __toCommonJS(index_exports);
37
+
38
+ // src/Logger.ts
39
+ var import_axios = __toESM(require("axios"), 1);
40
+
41
+ // src/types.ts
42
+ var LogLevel = /* @__PURE__ */ ((LogLevel2) => {
43
+ LogLevel2[LogLevel2["TRACE"] = 1] = "TRACE";
44
+ LogLevel2[LogLevel2["DEBUG"] = 2] = "DEBUG";
45
+ LogLevel2[LogLevel2["INFO"] = 3] = "INFO";
46
+ LogLevel2[LogLevel2["WARN"] = 4] = "WARN";
47
+ LogLevel2[LogLevel2["ERROR"] = 5] = "ERROR";
48
+ LogLevel2[LogLevel2["FATAL"] = 6] = "FATAL";
49
+ LogLevel2[LogLevel2["CRITICAL"] = 7] = "CRITICAL";
50
+ return LogLevel2;
51
+ })(LogLevel || {});
52
+
53
+ // src/Logger.ts
54
+ var _Logger = class _Logger {
55
+ static configure(config) {
56
+ _Logger.globalConfig = {
57
+ timeout: 5e3,
58
+ ...config
59
+ };
60
+ _Logger.client = import_axios.default.create({
61
+ baseURL: _Logger.globalConfig.apiUrl,
62
+ timeout: _Logger.globalConfig.timeout,
63
+ headers: {
64
+ "Content-Type": "application/json"
65
+ }
66
+ });
67
+ }
68
+ static async send(entry) {
69
+ if (!_Logger.client) {
70
+ console.error("Logger is not configured. Call Logger.configure() first.");
71
+ return;
72
+ }
73
+ try {
74
+ await _Logger.client.post("/logs", entry);
75
+ } catch (error) {
76
+ if (process.env.NODE_ENV === "development") {
77
+ console.error("[Logger] Failed to send log:", error);
78
+ }
79
+ }
80
+ }
81
+ constructor(context) {
82
+ if (!_Logger.globalConfig) {
83
+ throw new Error(
84
+ "Logger is not configured. Call Logger.configure() first."
85
+ );
86
+ }
87
+ this.context = context;
88
+ }
89
+ createEntry(level, message, metadata) {
90
+ return {
91
+ service: _Logger.globalConfig.service,
92
+ context: this.context,
93
+ level,
94
+ message,
95
+ metadata,
96
+ host: this.getHost(),
97
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
98
+ };
99
+ }
100
+ getHost() {
101
+ if (typeof window !== "undefined" && window.location) {
102
+ return window.location.hostname;
103
+ }
104
+ if (typeof process !== "undefined" && process.env) {
105
+ return process.env.HOSTNAME || "localhost";
106
+ }
107
+ return void 0;
108
+ }
109
+ trace(message, metadata) {
110
+ const entry = this.createEntry(1 /* TRACE */, message, metadata);
111
+ _Logger.send(entry);
112
+ }
113
+ debug(message, metadata) {
114
+ const entry = this.createEntry(2 /* DEBUG */, message, metadata);
115
+ _Logger.send(entry);
116
+ }
117
+ info(message, metadata) {
118
+ const entry = this.createEntry(3 /* INFO */, message, metadata);
119
+ _Logger.send(entry);
120
+ }
121
+ warn(message, metadata) {
122
+ const entry = this.createEntry(4 /* WARN */, message, metadata);
123
+ _Logger.send(entry);
124
+ }
125
+ error(message, metadata) {
126
+ const entry = this.createEntry(5 /* ERROR */, message, metadata);
127
+ _Logger.send(entry);
128
+ }
129
+ fatal(message, metadata) {
130
+ const entry = this.createEntry(6 /* FATAL */, message, metadata);
131
+ _Logger.send(entry);
132
+ }
133
+ critical(message, metadata) {
134
+ const entry = this.createEntry(7 /* CRITICAL */, message, metadata);
135
+ _Logger.send(entry);
136
+ }
137
+ };
138
+ _Logger.globalConfig = null;
139
+ _Logger.client = null;
140
+ var Logger = _Logger;
141
+ // Annotate the CommonJS export names for ESM import in node:
142
+ 0 && (module.exports = {
143
+ LogLevel,
144
+ Logger
145
+ });
146
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts","../src/Logger.ts","../src/types.ts"],"sourcesContent":["export { Logger } from \"./Logger.js\";\r\nexport { LogLevel } from \"./types.js\";\r\nexport type { LoggerConfig, LogEntry } from \"./types.js\";\r\n","import axios, { AxiosInstance } from \"axios\";\r\nimport { LogEntry, LoggerConfig, LogLevel } from \"./types.js\";\r\n\r\nexport class Logger {\r\n private static globalConfig: LoggerConfig | null = null;\r\n private static client: AxiosInstance | null = null;\r\n\r\n private context: string;\r\n\r\n static configure(config: LoggerConfig): void {\r\n Logger.globalConfig = {\r\n timeout: 5000,\r\n ...config,\r\n };\r\n\r\n Logger.client = axios.create({\r\n baseURL: Logger.globalConfig.apiUrl,\r\n timeout: Logger.globalConfig.timeout,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n });\r\n }\r\n\r\n private static async send(entry: LogEntry): Promise<void> {\r\n if (!Logger.client) {\r\n console.error(\"Logger is not configured. Call Logger.configure() first.\");\r\n return;\r\n }\r\n try {\r\n await Logger.client.post(\"/logs\", entry);\r\n } catch (error) {\r\n if (process.env.NODE_ENV === \"development\") {\r\n console.error(\"[Logger] Failed to send log:\", error);\r\n }\r\n }\r\n }\r\n\r\n constructor(context: string) {\r\n if (!Logger.globalConfig) {\r\n throw new Error(\r\n \"Logger is not configured. Call Logger.configure() first.\"\r\n );\r\n }\r\n this.context = context;\r\n }\r\n\r\n private createEntry(\r\n level: LogLevel,\r\n message: string,\r\n metadata?: Record<string, unknown>\r\n ): LogEntry {\r\n return {\r\n service: Logger.globalConfig!.service,\r\n context: this.context,\r\n level,\r\n message,\r\n metadata,\r\n host: this.getHost(),\r\n timestamp: new Date().toISOString(),\r\n };\r\n }\r\n\r\n private getHost(): string | undefined {\r\n if (typeof window !== \"undefined\" && window.location) {\r\n return window.location.hostname;\r\n }\r\n\r\n if (typeof process !== \"undefined\" && process.env) {\r\n return process.env.HOSTNAME || \"localhost\";\r\n }\r\n return undefined;\r\n }\r\n\r\n trace(message: string, metadata?: Record<string, unknown>): void {\r\n const entry = this.createEntry(LogLevel.TRACE, message, metadata);\r\n Logger.send(entry);\r\n }\r\n\r\n debug(message: string, metadata?: Record<string, unknown>): void {\r\n const entry = this.createEntry(LogLevel.DEBUG, message, metadata);\r\n Logger.send(entry);\r\n }\r\n\r\n info(message: string, metadata?: Record<string, unknown>): void {\r\n const entry = this.createEntry(LogLevel.INFO, message, metadata);\r\n Logger.send(entry);\r\n }\r\n\r\n warn(message: string, metadata?: Record<string, unknown>): void {\r\n const entry = this.createEntry(LogLevel.WARN, message, metadata);\r\n Logger.send(entry);\r\n }\r\n\r\n error(message: string, metadata?: Record<string, unknown>): void {\r\n const entry = this.createEntry(LogLevel.ERROR, message, metadata);\r\n Logger.send(entry);\r\n }\r\n\r\n fatal(message: string, metadata?: Record<string, unknown>): void {\r\n const entry = this.createEntry(LogLevel.FATAL, message, metadata);\r\n Logger.send(entry);\r\n }\r\n\r\n critical(message: string, metadata?: Record<string, unknown>): void {\r\n const entry = this.createEntry(LogLevel.CRITICAL, message, metadata);\r\n Logger.send(entry);\r\n }\r\n}\r\n","export enum LogLevel {\r\n TRACE = 1,\r\n DEBUG = 2,\r\n INFO = 3,\r\n WARN = 4,\r\n ERROR = 5,\r\n FATAL = 6,\r\n CRITICAL = 7,\r\n}\r\n\r\nexport interface LoggerConfig {\r\n apiUrl: string;\r\n service: string;\r\n timeout?: number;\r\n batchSize?: number;\r\n flushInterval?: number;\r\n enabled?: boolean;\r\n}\r\n\r\nexport interface LogEntry {\r\n service: string;\r\n context: string;\r\n level: LogLevel;\r\n message: string;\r\n metadata?: Record<string, unknown>;\r\n host?: string;\r\n timestamp?: string;\r\n}\r\n"],"mappings":"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","names":["LogLevel","axios"]}
@@ -1,5 +1,31 @@
1
- import { LoggerConfig } from "./types";
2
- export declare class Logger {
1
+ declare enum LogLevel {
2
+ TRACE = 1,
3
+ DEBUG = 2,
4
+ INFO = 3,
5
+ WARN = 4,
6
+ ERROR = 5,
7
+ FATAL = 6,
8
+ CRITICAL = 7
9
+ }
10
+ interface LoggerConfig {
11
+ apiUrl: string;
12
+ service: string;
13
+ timeout?: number;
14
+ batchSize?: number;
15
+ flushInterval?: number;
16
+ enabled?: boolean;
17
+ }
18
+ interface LogEntry {
19
+ service: string;
20
+ context: string;
21
+ level: LogLevel;
22
+ message: string;
23
+ metadata?: Record<string, unknown>;
24
+ host?: string;
25
+ timestamp?: string;
26
+ }
27
+
28
+ declare class Logger {
3
29
  private static globalConfig;
4
30
  private static client;
5
31
  private context;
@@ -16,3 +42,5 @@ export declare class Logger {
16
42
  fatal(message: string, metadata?: Record<string, unknown>): void;
17
43
  critical(message: string, metadata?: Record<string, unknown>): void;
18
44
  }
45
+
46
+ export { type LogEntry, LogLevel, Logger, type LoggerConfig };
package/dist/index.d.ts CHANGED
@@ -1,3 +1,46 @@
1
- export { Logger } from "./Logger";
2
- export { LogLevel } from "./types";
3
- export type { LoggerConfig, LogEntry } from "./types";
1
+ declare enum LogLevel {
2
+ TRACE = 1,
3
+ DEBUG = 2,
4
+ INFO = 3,
5
+ WARN = 4,
6
+ ERROR = 5,
7
+ FATAL = 6,
8
+ CRITICAL = 7
9
+ }
10
+ interface LoggerConfig {
11
+ apiUrl: string;
12
+ service: string;
13
+ timeout?: number;
14
+ batchSize?: number;
15
+ flushInterval?: number;
16
+ enabled?: boolean;
17
+ }
18
+ interface LogEntry {
19
+ service: string;
20
+ context: string;
21
+ level: LogLevel;
22
+ message: string;
23
+ metadata?: Record<string, unknown>;
24
+ host?: string;
25
+ timestamp?: string;
26
+ }
27
+
28
+ declare class Logger {
29
+ private static globalConfig;
30
+ private static client;
31
+ private context;
32
+ static configure(config: LoggerConfig): void;
33
+ private static send;
34
+ constructor(context: string);
35
+ private createEntry;
36
+ private getHost;
37
+ trace(message: string, metadata?: Record<string, unknown>): void;
38
+ debug(message: string, metadata?: Record<string, unknown>): void;
39
+ info(message: string, metadata?: Record<string, unknown>): void;
40
+ warn(message: string, metadata?: Record<string, unknown>): void;
41
+ error(message: string, metadata?: Record<string, unknown>): void;
42
+ fatal(message: string, metadata?: Record<string, unknown>): void;
43
+ critical(message: string, metadata?: Record<string, unknown>): void;
44
+ }
45
+
46
+ export { type LogEntry, LogLevel, Logger, type LoggerConfig };
package/dist/index.js CHANGED
@@ -1,2 +1,108 @@
1
- export { Logger } from "./Logger";
2
- export { LogLevel } from "./types";
1
+ // src/Logger.ts
2
+ import axios from "axios";
3
+
4
+ // src/types.ts
5
+ var LogLevel = /* @__PURE__ */ ((LogLevel2) => {
6
+ LogLevel2[LogLevel2["TRACE"] = 1] = "TRACE";
7
+ LogLevel2[LogLevel2["DEBUG"] = 2] = "DEBUG";
8
+ LogLevel2[LogLevel2["INFO"] = 3] = "INFO";
9
+ LogLevel2[LogLevel2["WARN"] = 4] = "WARN";
10
+ LogLevel2[LogLevel2["ERROR"] = 5] = "ERROR";
11
+ LogLevel2[LogLevel2["FATAL"] = 6] = "FATAL";
12
+ LogLevel2[LogLevel2["CRITICAL"] = 7] = "CRITICAL";
13
+ return LogLevel2;
14
+ })(LogLevel || {});
15
+
16
+ // src/Logger.ts
17
+ var _Logger = class _Logger {
18
+ static configure(config) {
19
+ _Logger.globalConfig = {
20
+ timeout: 5e3,
21
+ ...config
22
+ };
23
+ _Logger.client = axios.create({
24
+ baseURL: _Logger.globalConfig.apiUrl,
25
+ timeout: _Logger.globalConfig.timeout,
26
+ headers: {
27
+ "Content-Type": "application/json"
28
+ }
29
+ });
30
+ }
31
+ static async send(entry) {
32
+ if (!_Logger.client) {
33
+ console.error("Logger is not configured. Call Logger.configure() first.");
34
+ return;
35
+ }
36
+ try {
37
+ await _Logger.client.post("/logs", entry);
38
+ } catch (error) {
39
+ if (process.env.NODE_ENV === "development") {
40
+ console.error("[Logger] Failed to send log:", error);
41
+ }
42
+ }
43
+ }
44
+ constructor(context) {
45
+ if (!_Logger.globalConfig) {
46
+ throw new Error(
47
+ "Logger is not configured. Call Logger.configure() first."
48
+ );
49
+ }
50
+ this.context = context;
51
+ }
52
+ createEntry(level, message, metadata) {
53
+ return {
54
+ service: _Logger.globalConfig.service,
55
+ context: this.context,
56
+ level,
57
+ message,
58
+ metadata,
59
+ host: this.getHost(),
60
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
61
+ };
62
+ }
63
+ getHost() {
64
+ if (typeof window !== "undefined" && window.location) {
65
+ return window.location.hostname;
66
+ }
67
+ if (typeof process !== "undefined" && process.env) {
68
+ return process.env.HOSTNAME || "localhost";
69
+ }
70
+ return void 0;
71
+ }
72
+ trace(message, metadata) {
73
+ const entry = this.createEntry(1 /* TRACE */, message, metadata);
74
+ _Logger.send(entry);
75
+ }
76
+ debug(message, metadata) {
77
+ const entry = this.createEntry(2 /* DEBUG */, message, metadata);
78
+ _Logger.send(entry);
79
+ }
80
+ info(message, metadata) {
81
+ const entry = this.createEntry(3 /* INFO */, message, metadata);
82
+ _Logger.send(entry);
83
+ }
84
+ warn(message, metadata) {
85
+ const entry = this.createEntry(4 /* WARN */, message, metadata);
86
+ _Logger.send(entry);
87
+ }
88
+ error(message, metadata) {
89
+ const entry = this.createEntry(5 /* ERROR */, message, metadata);
90
+ _Logger.send(entry);
91
+ }
92
+ fatal(message, metadata) {
93
+ const entry = this.createEntry(6 /* FATAL */, message, metadata);
94
+ _Logger.send(entry);
95
+ }
96
+ critical(message, metadata) {
97
+ const entry = this.createEntry(7 /* CRITICAL */, message, metadata);
98
+ _Logger.send(entry);
99
+ }
100
+ };
101
+ _Logger.globalConfig = null;
102
+ _Logger.client = null;
103
+ var Logger = _Logger;
104
+ export {
105
+ LogLevel,
106
+ Logger
107
+ };
108
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Logger.ts","../src/types.ts"],"sourcesContent":["import axios, { AxiosInstance } from \"axios\";\r\nimport { LogEntry, LoggerConfig, LogLevel } from \"./types.js\";\r\n\r\nexport class Logger {\r\n private static globalConfig: LoggerConfig | null = null;\r\n private static client: AxiosInstance | null = null;\r\n\r\n private context: string;\r\n\r\n static configure(config: LoggerConfig): void {\r\n Logger.globalConfig = {\r\n timeout: 5000,\r\n ...config,\r\n };\r\n\r\n Logger.client = axios.create({\r\n baseURL: Logger.globalConfig.apiUrl,\r\n timeout: Logger.globalConfig.timeout,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n });\r\n }\r\n\r\n private static async send(entry: LogEntry): Promise<void> {\r\n if (!Logger.client) {\r\n console.error(\"Logger is not configured. Call Logger.configure() first.\");\r\n return;\r\n }\r\n try {\r\n await Logger.client.post(\"/logs\", entry);\r\n } catch (error) {\r\n if (process.env.NODE_ENV === \"development\") {\r\n console.error(\"[Logger] Failed to send log:\", error);\r\n }\r\n }\r\n }\r\n\r\n constructor(context: string) {\r\n if (!Logger.globalConfig) {\r\n throw new Error(\r\n \"Logger is not configured. Call Logger.configure() first.\"\r\n );\r\n }\r\n this.context = context;\r\n }\r\n\r\n private createEntry(\r\n level: LogLevel,\r\n message: string,\r\n metadata?: Record<string, unknown>\r\n ): LogEntry {\r\n return {\r\n service: Logger.globalConfig!.service,\r\n context: this.context,\r\n level,\r\n message,\r\n metadata,\r\n host: this.getHost(),\r\n timestamp: new Date().toISOString(),\r\n };\r\n }\r\n\r\n private getHost(): string | undefined {\r\n if (typeof window !== \"undefined\" && window.location) {\r\n return window.location.hostname;\r\n }\r\n\r\n if (typeof process !== \"undefined\" && process.env) {\r\n return process.env.HOSTNAME || \"localhost\";\r\n }\r\n return undefined;\r\n }\r\n\r\n trace(message: string, metadata?: Record<string, unknown>): void {\r\n const entry = this.createEntry(LogLevel.TRACE, message, metadata);\r\n Logger.send(entry);\r\n }\r\n\r\n debug(message: string, metadata?: Record<string, unknown>): void {\r\n const entry = this.createEntry(LogLevel.DEBUG, message, metadata);\r\n Logger.send(entry);\r\n }\r\n\r\n info(message: string, metadata?: Record<string, unknown>): void {\r\n const entry = this.createEntry(LogLevel.INFO, message, metadata);\r\n Logger.send(entry);\r\n }\r\n\r\n warn(message: string, metadata?: Record<string, unknown>): void {\r\n const entry = this.createEntry(LogLevel.WARN, message, metadata);\r\n Logger.send(entry);\r\n }\r\n\r\n error(message: string, metadata?: Record<string, unknown>): void {\r\n const entry = this.createEntry(LogLevel.ERROR, message, metadata);\r\n Logger.send(entry);\r\n }\r\n\r\n fatal(message: string, metadata?: Record<string, unknown>): void {\r\n const entry = this.createEntry(LogLevel.FATAL, message, metadata);\r\n Logger.send(entry);\r\n }\r\n\r\n critical(message: string, metadata?: Record<string, unknown>): void {\r\n const entry = this.createEntry(LogLevel.CRITICAL, message, metadata);\r\n Logger.send(entry);\r\n }\r\n}\r\n","export enum LogLevel {\r\n TRACE = 1,\r\n DEBUG = 2,\r\n INFO = 3,\r\n WARN = 4,\r\n ERROR = 5,\r\n FATAL = 6,\r\n CRITICAL = 7,\r\n}\r\n\r\nexport interface LoggerConfig {\r\n apiUrl: string;\r\n service: string;\r\n timeout?: number;\r\n batchSize?: number;\r\n flushInterval?: number;\r\n enabled?: boolean;\r\n}\r\n\r\nexport interface LogEntry {\r\n service: string;\r\n context: string;\r\n level: LogLevel;\r\n message: string;\r\n metadata?: Record<string, unknown>;\r\n host?: string;\r\n timestamp?: string;\r\n}\r\n"],"mappings":";AAAA,OAAO,WAA8B;;;ACA9B,IAAK,WAAL,kBAAKA,cAAL;AACL,EAAAA,oBAAA,WAAQ,KAAR;AACA,EAAAA,oBAAA,WAAQ,KAAR;AACA,EAAAA,oBAAA,UAAO,KAAP;AACA,EAAAA,oBAAA,UAAO,KAAP;AACA,EAAAA,oBAAA,WAAQ,KAAR;AACA,EAAAA,oBAAA,WAAQ,KAAR;AACA,EAAAA,oBAAA,cAAW,KAAX;AAPU,SAAAA;AAAA,GAAA;;;ADGL,IAAM,UAAN,MAAM,QAAO;AAAA,EAMlB,OAAO,UAAU,QAA4B;AAC3C,YAAO,eAAe;AAAA,MACpB,SAAS;AAAA,MACT,GAAG;AAAA,IACL;AAEA,YAAO,SAAS,MAAM,OAAO;AAAA,MAC3B,SAAS,QAAO,aAAa;AAAA,MAC7B,SAAS,QAAO,aAAa;AAAA,MAC7B,SAAS;AAAA,QACP,gBAAgB;AAAA,MAClB;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,aAAqB,KAAK,OAAgC;AACxD,QAAI,CAAC,QAAO,QAAQ;AAClB,cAAQ,MAAM,0DAA0D;AACxE;AAAA,IACF;AACA,QAAI;AACF,YAAM,QAAO,OAAO,KAAK,SAAS,KAAK;AAAA,IACzC,SAAS,OAAO;AACd,UAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,gBAAQ,MAAM,gCAAgC,KAAK;AAAA,MACrD;AAAA,IACF;AAAA,EACF;AAAA,EAEA,YAAY,SAAiB;AAC3B,QAAI,CAAC,QAAO,cAAc;AACxB,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AACA,SAAK,UAAU;AAAA,EACjB;AAAA,EAEQ,YACN,OACA,SACA,UACU;AACV,WAAO;AAAA,MACL,SAAS,QAAO,aAAc;AAAA,MAC9B,SAAS,KAAK;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA,MAAM,KAAK,QAAQ;AAAA,MACnB,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,IACpC;AAAA,EACF;AAAA,EAEQ,UAA8B;AACpC,QAAI,OAAO,WAAW,eAAe,OAAO,UAAU;AACpD,aAAO,OAAO,SAAS;AAAA,IACzB;AAEA,QAAI,OAAO,YAAY,eAAe,QAAQ,KAAK;AACjD,aAAO,QAAQ,IAAI,YAAY;AAAA,IACjC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,SAAiB,UAA0C;AAC/D,UAAM,QAAQ,KAAK,2BAA4B,SAAS,QAAQ;AAChE,YAAO,KAAK,KAAK;AAAA,EACnB;AAAA,EAEA,MAAM,SAAiB,UAA0C;AAC/D,UAAM,QAAQ,KAAK,2BAA4B,SAAS,QAAQ;AAChE,YAAO,KAAK,KAAK;AAAA,EACnB;AAAA,EAEA,KAAK,SAAiB,UAA0C;AAC9D,UAAM,QAAQ,KAAK,0BAA2B,SAAS,QAAQ;AAC/D,YAAO,KAAK,KAAK;AAAA,EACnB;AAAA,EAEA,KAAK,SAAiB,UAA0C;AAC9D,UAAM,QAAQ,KAAK,0BAA2B,SAAS,QAAQ;AAC/D,YAAO,KAAK,KAAK;AAAA,EACnB;AAAA,EAEA,MAAM,SAAiB,UAA0C;AAC/D,UAAM,QAAQ,KAAK,2BAA4B,SAAS,QAAQ;AAChE,YAAO,KAAK,KAAK;AAAA,EACnB;AAAA,EAEA,MAAM,SAAiB,UAA0C;AAC/D,UAAM,QAAQ,KAAK,2BAA4B,SAAS,QAAQ;AAChE,YAAO,KAAK,KAAK;AAAA,EACnB;AAAA,EAEA,SAAS,SAAiB,UAA0C;AAClE,UAAM,QAAQ,KAAK,8BAA+B,SAAS,QAAQ;AACnE,YAAO,KAAK,KAAK;AAAA,EACnB;AACF;AAzGa,QACI,eAAoC;AADxC,QAEI,SAA+B;AAFzC,IAAM,SAAN;","names":["LogLevel"]}
package/package.json CHANGED
@@ -1,19 +1,21 @@
1
1
  {
2
2
  "name": "@kacper2076/logger-client",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "TypeScript client for Logger service",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
7
+ "module": "dist/index.js",
7
8
  "types": "dist/index.d.ts",
8
9
  "exports": {
9
10
  ".": {
11
+ "types": "./dist/index.d.ts",
10
12
  "import": "./dist/index.js",
11
- "types": "./dist/index.d.ts"
13
+ "require": "./dist/index.cjs"
12
14
  }
13
15
  },
14
16
  "scripts": {
15
- "build": "tsc",
16
- "dev": "tsc --watch",
17
+ "build": "tsup",
18
+ "dev": "tsup --watch",
17
19
  "prepublishOnly": "npm run build"
18
20
  },
19
21
  "keywords": [
@@ -31,6 +33,7 @@
31
33
  },
32
34
  "devDependencies": {
33
35
  "typescript": "^5.3.0",
34
- "@types/node": "^20.0.0"
36
+ "@types/node": "^20.0.0",
37
+ "tsup": "^8.0.0"
35
38
  }
36
39
  }
package/dist/Logger.js DELETED
@@ -1,87 +0,0 @@
1
- import axios from "axios";
2
- import { LogLevel } from "./types";
3
- export class Logger {
4
- static configure(config) {
5
- Logger.globalConfig = {
6
- timeout: 5000,
7
- ...config,
8
- };
9
- Logger.client = axios.create({
10
- baseURL: Logger.globalConfig.apiUrl,
11
- timeout: Logger.globalConfig.timeout,
12
- headers: {
13
- "Content-Type": "application/json",
14
- },
15
- });
16
- }
17
- static async send(entry) {
18
- if (!Logger.client) {
19
- console.error("Logger is not configured. Call Logger.configure() first.");
20
- return;
21
- }
22
- try {
23
- await Logger.client.post("/logs", entry);
24
- }
25
- catch (error) {
26
- if (process.env.NODE_ENV === "development") {
27
- console.error("[Logger] Failed to send log:", error);
28
- }
29
- }
30
- }
31
- constructor(context) {
32
- if (!Logger.globalConfig) {
33
- throw new Error("Logger is not configured. Call Logger.configure() first.");
34
- }
35
- this.context = context;
36
- }
37
- createEntry(level, message, metadata) {
38
- return {
39
- service: Logger.globalConfig.service,
40
- context: this.context,
41
- level,
42
- message,
43
- metadata,
44
- host: this.getHost(),
45
- timestamp: new Date().toISOString(),
46
- };
47
- }
48
- getHost() {
49
- if (typeof window !== "undefined" && window.location) {
50
- return window.location.hostname;
51
- }
52
- if (typeof process !== "undefined" && process.env) {
53
- return process.env.HOSTNAME || "localhost";
54
- }
55
- return undefined;
56
- }
57
- trace(message, metadata) {
58
- const entry = this.createEntry(LogLevel.TRACE, message, metadata);
59
- Logger.send(entry);
60
- }
61
- debug(message, metadata) {
62
- const entry = this.createEntry(LogLevel.DEBUG, message, metadata);
63
- Logger.send(entry);
64
- }
65
- info(message, metadata) {
66
- const entry = this.createEntry(LogLevel.INFO, message, metadata);
67
- Logger.send(entry);
68
- }
69
- warn(message, metadata) {
70
- const entry = this.createEntry(LogLevel.WARN, message, metadata);
71
- Logger.send(entry);
72
- }
73
- error(message, metadata) {
74
- const entry = this.createEntry(LogLevel.ERROR, message, metadata);
75
- Logger.send(entry);
76
- }
77
- fatal(message, metadata) {
78
- const entry = this.createEntry(LogLevel.FATAL, message, metadata);
79
- Logger.send(entry);
80
- }
81
- critical(message, metadata) {
82
- const entry = this.createEntry(LogLevel.CRITICAL, message, metadata);
83
- Logger.send(entry);
84
- }
85
- }
86
- Logger.globalConfig = null;
87
- Logger.client = null;
package/dist/types.d.ts DELETED
@@ -1,26 +0,0 @@
1
- export declare enum LogLevel {
2
- TRACE = 1,
3
- DEBUG = 2,
4
- INFO = 3,
5
- WARN = 4,
6
- ERROR = 5,
7
- FATAL = 6,
8
- CRITICAL = 7
9
- }
10
- export interface LoggerConfig {
11
- apiUrl: string;
12
- service: string;
13
- timeout?: number;
14
- batchSize?: number;
15
- flushInterval?: number;
16
- enabled?: boolean;
17
- }
18
- export interface LogEntry {
19
- service: string;
20
- context: string;
21
- level: LogLevel;
22
- message: string;
23
- metadata?: Record<string, unknown>;
24
- host?: string;
25
- timestamp?: string;
26
- }
package/dist/types.js DELETED
@@ -1,10 +0,0 @@
1
- export var LogLevel;
2
- (function (LogLevel) {
3
- LogLevel[LogLevel["TRACE"] = 1] = "TRACE";
4
- LogLevel[LogLevel["DEBUG"] = 2] = "DEBUG";
5
- LogLevel[LogLevel["INFO"] = 3] = "INFO";
6
- LogLevel[LogLevel["WARN"] = 4] = "WARN";
7
- LogLevel[LogLevel["ERROR"] = 5] = "ERROR";
8
- LogLevel[LogLevel["FATAL"] = 6] = "FATAL";
9
- LogLevel[LogLevel["CRITICAL"] = 7] = "CRITICAL";
10
- })(LogLevel || (LogLevel = {}));