@kacper2076/logger-client 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.
- package/README.md +0 -0
- package/dist/Logger.d.ts +18 -0
- package/dist/Logger.js +94 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +7 -0
- package/dist/types.d.ts +26 -0
- package/dist/types.js +13 -0
- package/package.json +30 -0
package/README.md
ADDED
|
File without changes
|
package/dist/Logger.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { LoggerConfig } from "./types";
|
|
2
|
+
export declare class Logger {
|
|
3
|
+
private static globalConfig;
|
|
4
|
+
private static client;
|
|
5
|
+
private context;
|
|
6
|
+
static configure(config: LoggerConfig): void;
|
|
7
|
+
private static send;
|
|
8
|
+
constructor(context: string);
|
|
9
|
+
private createEntry;
|
|
10
|
+
private getHost;
|
|
11
|
+
trace(message: string, metadata?: Record<string, unknown>): void;
|
|
12
|
+
debug(message: string, metadata?: Record<string, unknown>): void;
|
|
13
|
+
info(message: string, metadata?: Record<string, unknown>): void;
|
|
14
|
+
warn(message: string, metadata?: Record<string, unknown>): void;
|
|
15
|
+
error(message: string, metadata?: Record<string, unknown>): void;
|
|
16
|
+
fatal(message: string, metadata?: Record<string, unknown>): void;
|
|
17
|
+
critical(message: string, metadata?: Record<string, unknown>): void;
|
|
18
|
+
}
|
package/dist/Logger.js
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Logger = void 0;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
const types_1 = require("./types");
|
|
9
|
+
class Logger {
|
|
10
|
+
static configure(config) {
|
|
11
|
+
Logger.globalConfig = {
|
|
12
|
+
timeout: 5000,
|
|
13
|
+
...config,
|
|
14
|
+
};
|
|
15
|
+
Logger.client = axios_1.default.create({
|
|
16
|
+
baseURL: Logger.globalConfig.apiUrl,
|
|
17
|
+
timeout: Logger.globalConfig.timeout,
|
|
18
|
+
headers: {
|
|
19
|
+
"Content-Type": "application/json",
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
static async send(entry) {
|
|
24
|
+
if (!Logger.client) {
|
|
25
|
+
console.error("Logger is not configured. Call Logger.configure() first.");
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
try {
|
|
29
|
+
await Logger.client.post("/logs", entry);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
if (process.env.NODE_ENV === "development") {
|
|
33
|
+
console.error("[Logger] Failed to send log:", error);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
constructor(context) {
|
|
38
|
+
if (!Logger.globalConfig) {
|
|
39
|
+
throw new Error("Logger is not configured. Call Logger.configure() first.");
|
|
40
|
+
}
|
|
41
|
+
this.context = context;
|
|
42
|
+
}
|
|
43
|
+
createEntry(level, message, metadata) {
|
|
44
|
+
return {
|
|
45
|
+
service: Logger.globalConfig.service,
|
|
46
|
+
context: this.context,
|
|
47
|
+
level,
|
|
48
|
+
message,
|
|
49
|
+
metadata,
|
|
50
|
+
host: this.getHost(),
|
|
51
|
+
timestamp: new Date().toISOString(),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
getHost() {
|
|
55
|
+
if (typeof window !== "undefined" && window.location) {
|
|
56
|
+
return window.location.hostname;
|
|
57
|
+
}
|
|
58
|
+
if (typeof process !== "undefined" && process.env) {
|
|
59
|
+
return process.env.HOSTNAME || "localhost";
|
|
60
|
+
}
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
trace(message, metadata) {
|
|
64
|
+
const entry = this.createEntry(types_1.LogLevel.TRACE, message, metadata);
|
|
65
|
+
Logger.send(entry);
|
|
66
|
+
}
|
|
67
|
+
debug(message, metadata) {
|
|
68
|
+
const entry = this.createEntry(types_1.LogLevel.DEBUG, message, metadata);
|
|
69
|
+
Logger.send(entry);
|
|
70
|
+
}
|
|
71
|
+
info(message, metadata) {
|
|
72
|
+
const entry = this.createEntry(types_1.LogLevel.INFO, message, metadata);
|
|
73
|
+
Logger.send(entry);
|
|
74
|
+
}
|
|
75
|
+
warn(message, metadata) {
|
|
76
|
+
const entry = this.createEntry(types_1.LogLevel.WARN, message, metadata);
|
|
77
|
+
Logger.send(entry);
|
|
78
|
+
}
|
|
79
|
+
error(message, metadata) {
|
|
80
|
+
const entry = this.createEntry(types_1.LogLevel.ERROR, message, metadata);
|
|
81
|
+
Logger.send(entry);
|
|
82
|
+
}
|
|
83
|
+
fatal(message, metadata) {
|
|
84
|
+
const entry = this.createEntry(types_1.LogLevel.FATAL, message, metadata);
|
|
85
|
+
Logger.send(entry);
|
|
86
|
+
}
|
|
87
|
+
critical(message, metadata) {
|
|
88
|
+
const entry = this.createEntry(types_1.LogLevel.CRITICAL, message, metadata);
|
|
89
|
+
Logger.send(entry);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.Logger = Logger;
|
|
93
|
+
Logger.globalConfig = null;
|
|
94
|
+
Logger.client = null;
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LogLevel = exports.Logger = void 0;
|
|
4
|
+
var Logger_1 = require("./Logger");
|
|
5
|
+
Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return Logger_1.Logger; } });
|
|
6
|
+
var types_1 = require("./types");
|
|
7
|
+
Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function () { return types_1.LogLevel; } });
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LogLevel = void 0;
|
|
4
|
+
var LogLevel;
|
|
5
|
+
(function (LogLevel) {
|
|
6
|
+
LogLevel[LogLevel["TRACE"] = 1] = "TRACE";
|
|
7
|
+
LogLevel[LogLevel["DEBUG"] = 2] = "DEBUG";
|
|
8
|
+
LogLevel[LogLevel["INFO"] = 3] = "INFO";
|
|
9
|
+
LogLevel[LogLevel["WARN"] = 4] = "WARN";
|
|
10
|
+
LogLevel[LogLevel["ERROR"] = 5] = "ERROR";
|
|
11
|
+
LogLevel[LogLevel["FATAL"] = 6] = "FATAL";
|
|
12
|
+
LogLevel[LogLevel["CRITICAL"] = 7] = "CRITICAL";
|
|
13
|
+
})(LogLevel || (exports.LogLevel = LogLevel = {}));
|
package/package.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@kacper2076/logger-client",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "TypeScript client for Logger service",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"build": "tsc",
|
|
10
|
+
"dev": "tsc --watch",
|
|
11
|
+
"prepublishOnly": "npm run build"
|
|
12
|
+
},
|
|
13
|
+
"keywords": [
|
|
14
|
+
"logger",
|
|
15
|
+
"logging",
|
|
16
|
+
"typescript"
|
|
17
|
+
],
|
|
18
|
+
"author": "Kacper Stępień",
|
|
19
|
+
"license": "MIT",
|
|
20
|
+
"files": [
|
|
21
|
+
"dist"
|
|
22
|
+
],
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"axios": "^1.6.0"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"typescript": "^5.3.0",
|
|
28
|
+
"@types/node": "^20.0.0"
|
|
29
|
+
}
|
|
30
|
+
}
|