@rabbit-company/logger 5.4.0 → 5.6.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 +3 -0
- package/module/logger.d.ts +15 -0
- package/module/logger.js +45 -8
- package/package.json +2 -2
package/README.md
CHANGED
package/module/logger.d.ts
CHANGED
|
@@ -528,6 +528,21 @@ export declare class Logger {
|
|
|
528
528
|
* @param entry The log entry to process
|
|
529
529
|
*/
|
|
530
530
|
private processEntry;
|
|
531
|
+
/**
|
|
532
|
+
* Logs a message at the specified level with optional metadata.
|
|
533
|
+
*
|
|
534
|
+
* This is the primary logging method that all other level-specific methods
|
|
535
|
+
* (error, warn, info, etc.) delegate to. It provides fine-grained control
|
|
536
|
+
* over the log level and is useful for dynamic logging scenarios.
|
|
537
|
+
*
|
|
538
|
+
* @param level - The severity level for this log entry (use Levels enum)
|
|
539
|
+
* @param message - The log message to record
|
|
540
|
+
* @param metadata - Optional structured data to attach to the log entry
|
|
541
|
+
*
|
|
542
|
+
* @example
|
|
543
|
+
* logger.log(Levels.ERROR, "Database connection failed", { error: error.stack });
|
|
544
|
+
*/
|
|
545
|
+
log(level: Levels, message: string, metadata?: Record<string, any>): void;
|
|
531
546
|
/**
|
|
532
547
|
* Logs an error message (highest severity)
|
|
533
548
|
* @param message The error message
|
package/module/logger.js
CHANGED
|
@@ -129,6 +129,40 @@ class Logger {
|
|
|
129
129
|
return this.level >= level;
|
|
130
130
|
}
|
|
131
131
|
createLogEntry(message, level, metadata) {
|
|
132
|
+
if (metadata instanceof Error) {
|
|
133
|
+
return {
|
|
134
|
+
message,
|
|
135
|
+
level,
|
|
136
|
+
timestamp: Date.now(),
|
|
137
|
+
metadata: {
|
|
138
|
+
error: {
|
|
139
|
+
name: metadata.name,
|
|
140
|
+
message: metadata.message,
|
|
141
|
+
stack: metadata.stack
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
if (metadata && typeof metadata === "object") {
|
|
147
|
+
const processedMetadata = {};
|
|
148
|
+
for (const [key, value] of Object.entries(metadata)) {
|
|
149
|
+
if (value instanceof Error) {
|
|
150
|
+
processedMetadata[key] = {
|
|
151
|
+
name: value.name,
|
|
152
|
+
message: value.message,
|
|
153
|
+
stack: value.stack
|
|
154
|
+
};
|
|
155
|
+
} else {
|
|
156
|
+
processedMetadata[key] = value;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return {
|
|
160
|
+
message,
|
|
161
|
+
level,
|
|
162
|
+
timestamp: Date.now(),
|
|
163
|
+
metadata: processedMetadata
|
|
164
|
+
};
|
|
165
|
+
}
|
|
132
166
|
return {
|
|
133
167
|
message,
|
|
134
168
|
level,
|
|
@@ -143,29 +177,32 @@ class Logger {
|
|
|
143
177
|
transport.log(entry);
|
|
144
178
|
}
|
|
145
179
|
}
|
|
180
|
+
log(level, message, metadata) {
|
|
181
|
+
this.processEntry(this.createLogEntry(message, level, metadata));
|
|
182
|
+
}
|
|
146
183
|
error(message, metadata) {
|
|
147
|
-
this.
|
|
184
|
+
this.log(0 /* ERROR */, message, metadata);
|
|
148
185
|
}
|
|
149
186
|
warn(message, metadata) {
|
|
150
|
-
this.
|
|
187
|
+
this.log(1 /* WARN */, message, metadata);
|
|
151
188
|
}
|
|
152
189
|
audit(message, metadata) {
|
|
153
|
-
this.
|
|
190
|
+
this.log(2 /* AUDIT */, message, metadata);
|
|
154
191
|
}
|
|
155
192
|
info(message, metadata) {
|
|
156
|
-
this.
|
|
193
|
+
this.log(3 /* INFO */, message, metadata);
|
|
157
194
|
}
|
|
158
195
|
http(message, metadata) {
|
|
159
|
-
this.
|
|
196
|
+
this.log(4 /* HTTP */, message, metadata);
|
|
160
197
|
}
|
|
161
198
|
debug(message, metadata) {
|
|
162
|
-
this.
|
|
199
|
+
this.log(5 /* DEBUG */, message, metadata);
|
|
163
200
|
}
|
|
164
201
|
verbose(message, metadata) {
|
|
165
|
-
this.
|
|
202
|
+
this.log(6 /* VERBOSE */, message, metadata);
|
|
166
203
|
}
|
|
167
204
|
silly(message, metadata) {
|
|
168
|
-
this.
|
|
205
|
+
this.log(7 /* SILLY */, message, metadata);
|
|
169
206
|
}
|
|
170
207
|
addTransport(transport) {
|
|
171
208
|
this.transports.push(transport);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rabbit-company/logger",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.6.0",
|
|
4
4
|
"description": "A simple and lightweight logger",
|
|
5
5
|
"main": "./module/logger.js",
|
|
6
6
|
"type": "module",
|
|
@@ -39,6 +39,6 @@
|
|
|
39
39
|
"bun-plugin-dts": "^0.3.0"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
|
-
"typescript": "^5.
|
|
42
|
+
"typescript": "^5.8.3"
|
|
43
43
|
}
|
|
44
44
|
}
|