core-mb 1.1.4 → 1.1.6

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.
@@ -1,2 +1,23 @@
1
- declare const logger: import("winston").Logger;
2
- export { logger };
1
+ declare const baseLogger: import("winston").Logger | {
2
+ info: {
3
+ (...data: any[]): void;
4
+ (message?: any, ...optionalParams: any[]): void;
5
+ };
6
+ error: {
7
+ (...data: any[]): void;
8
+ (message?: any, ...optionalParams: any[]): void;
9
+ };
10
+ warn: {
11
+ (...data: any[]): void;
12
+ (message?: any, ...optionalParams: any[]): void;
13
+ };
14
+ };
15
+ export declare class Logger {
16
+ private context;
17
+ constructor(context: string);
18
+ private formatMessage;
19
+ info(message: string, method?: string): void;
20
+ warn(message: string, method?: string): void;
21
+ error(message: string, method?: string): void;
22
+ }
23
+ export { baseLogger as logger };
@@ -1,35 +1,59 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.logger = void 0;
3
+ exports.logger = exports.Logger = void 0;
4
4
  const winston_1 = require("winston");
5
+ // Keep your existing getDate() logic
5
6
  function getDate() {
6
7
  const today = new Date();
7
- const formatted = today.toISOString().slice(0, 10);
8
- return formatted;
8
+ return today.toISOString().slice(0, 10);
9
9
  }
10
- const logger = (0, winston_1.createLogger)({
11
- level: "info",
12
- format: winston_1.format.combine(winston_1.format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }), winston_1.format.printf(({ level, message, timestamp, ...meta }) => {
13
- return `${timestamp} [${level.toUpperCase()}]: ${message} ${Object.keys(meta).length ? JSON.stringify(meta) : ""}`;
14
- })),
15
- transports: [
16
- // Console output
17
- new winston_1.transports.Console(),
18
- // File for info
19
- new winston_1.transports.File({
20
- filename: `logs/info-${getDate()}.log`,
21
- level: "info",
22
- }),
23
- // File for warnings
24
- new winston_1.transports.File({
25
- filename: `logs/warning-${getDate()}.log`,
26
- level: "warn",
27
- }),
28
- // File for errors
29
- new winston_1.transports.File({
30
- filename: `logs/error-${getDate()}.log`,
31
- level: "error",
32
- }),
33
- ],
34
- });
35
- exports.logger = logger;
10
+ // === Keep your existing Winston logger exactly as before ===
11
+ const baseLogger = typeof window === "undefined"
12
+ ? (0, winston_1.createLogger)({
13
+ level: "info",
14
+ format: winston_1.format.combine(winston_1.format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }), winston_1.format.printf(({ level, message, timestamp, ...meta }) => {
15
+ return `${timestamp} [${level.toUpperCase()}]: ${message} ${Object.keys(meta).length ? JSON.stringify(meta) : ""}`;
16
+ })),
17
+ transports: [
18
+ new winston_1.transports.Console(),
19
+ new winston_1.transports.File({
20
+ filename: `logs/info-${getDate()}.log`,
21
+ level: "info",
22
+ }),
23
+ new winston_1.transports.File({
24
+ filename: `logs/warning-${getDate()}.log`,
25
+ level: "warn",
26
+ }),
27
+ new winston_1.transports.File({
28
+ filename: `logs/error-${getDate()}.log`,
29
+ level: "error",
30
+ }),
31
+ ],
32
+ })
33
+ : {
34
+ info: console.log,
35
+ error: console.error,
36
+ warn: console.warn,
37
+ };
38
+ exports.logger = baseLogger;
39
+ // === Class-aware Logger wrapper ===
40
+ class Logger {
41
+ constructor(context) {
42
+ this.context = context;
43
+ }
44
+ formatMessage(message, method) {
45
+ return method
46
+ ? `[${this.context}:${method}] ${message}`
47
+ : `[${this.context}] ${message}`;
48
+ }
49
+ info(message, method) {
50
+ baseLogger.info(this.formatMessage(message, method));
51
+ }
52
+ warn(message, method) {
53
+ baseLogger.warn(this.formatMessage(message, method));
54
+ }
55
+ error(message, method) {
56
+ baseLogger.error(this.formatMessage(message, method));
57
+ }
58
+ }
59
+ exports.Logger = Logger;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "core-mb",
3
- "version": "1.1.4",
3
+ "version": "1.1.6",
4
4
  "description": "Core utility functions for the MB ecosystem in TypeScript",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,43 +1,68 @@
1
1
  import { createLogger, format, transports } from "winston";
2
2
 
3
+ // Keep your existing getDate() logic
3
4
  function getDate() {
4
5
  const today = new Date();
5
- const formatted = today.toISOString().slice(0, 10);
6
- return formatted;
6
+ return today.toISOString().slice(0, 10);
7
7
  }
8
8
 
9
- const logger = createLogger({
10
- level: "info",
11
- format: format.combine(
12
- format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }),
13
- format.printf(({ level, message, timestamp, ...meta }) => {
14
- return `${timestamp} [${level.toUpperCase()}]: ${message} ${
15
- Object.keys(meta).length ? JSON.stringify(meta) : ""
16
- }`;
17
- })
18
- ),
19
- transports: [
20
- // Console output
21
- new transports.Console(),
22
-
23
- // File for info
24
- new transports.File({
25
- filename: `logs/info-${getDate()}.log`,
26
- level: "info",
27
- }),
28
-
29
- // File for warnings
30
- new transports.File({
31
- filename: `logs/warning-${getDate()}.log`,
32
- level: "warn",
33
- }),
34
-
35
- // File for errors
36
- new transports.File({
37
- filename: `logs/error-${getDate()}.log`,
38
- level: "error",
39
- }),
40
- ],
41
- });
42
-
43
- export { logger };
9
+ // === Keep your existing Winston logger exactly as before ===
10
+ const baseLogger =
11
+ typeof window === "undefined"
12
+ ? createLogger({
13
+ level: "info",
14
+ format: format.combine(
15
+ format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }),
16
+ format.printf(({ level, message, timestamp, ...meta }) => {
17
+ return `${timestamp} [${level.toUpperCase()}]: ${message} ${
18
+ Object.keys(meta).length ? JSON.stringify(meta) : ""
19
+ }`;
20
+ })
21
+ ),
22
+ transports: [
23
+ new transports.Console(),
24
+ new transports.File({
25
+ filename: `logs/info-${getDate()}.log`,
26
+ level: "info",
27
+ }),
28
+ new transports.File({
29
+ filename: `logs/warning-${getDate()}.log`,
30
+ level: "warn",
31
+ }),
32
+ new transports.File({
33
+ filename: `logs/error-${getDate()}.log`,
34
+ level: "error",
35
+ }),
36
+ ],
37
+ })
38
+ : {
39
+ info: console.log,
40
+ error: console.error,
41
+ warn: console.warn,
42
+ };
43
+
44
+ // === Class-aware Logger wrapper ===
45
+ export class Logger {
46
+ constructor(private context: string) {}
47
+
48
+ private formatMessage(message: string, method?: string) {
49
+ return method
50
+ ? `[${this.context}:${method}] ${message}`
51
+ : `[${this.context}] ${message}`;
52
+ }
53
+
54
+ info(message: string, method?: string) {
55
+ baseLogger.info(this.formatMessage(message, method));
56
+ }
57
+
58
+ warn(message: string, method?: string) {
59
+ baseLogger.warn(this.formatMessage(message, method));
60
+ }
61
+
62
+ error(message: string, method?: string) {
63
+ baseLogger.error(this.formatMessage(message, method));
64
+ }
65
+ }
66
+
67
+ // === Optional: export original baseLogger ===
68
+ export { baseLogger as logger };