core-mb 1.1.5 → 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 let logger: any;
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,44 +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
- let logger;
11
- if (typeof window === 'undefined') {
12
- exports.logger = logger = (0, winston_1.createLogger)({
10
+ // === Keep your existing Winston logger exactly as before ===
11
+ const baseLogger = typeof window === "undefined"
12
+ ? (0, winston_1.createLogger)({
13
13
  level: "info",
14
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
15
  return `${timestamp} [${level.toUpperCase()}]: ${message} ${Object.keys(meta).length ? JSON.stringify(meta) : ""}`;
16
16
  })),
17
17
  transports: [
18
- // Console output
19
18
  new winston_1.transports.Console(),
20
- // File for info
21
19
  new winston_1.transports.File({
22
20
  filename: `logs/info-${getDate()}.log`,
23
21
  level: "info",
24
22
  }),
25
- // File for warnings
26
23
  new winston_1.transports.File({
27
24
  filename: `logs/warning-${getDate()}.log`,
28
25
  level: "warn",
29
26
  }),
30
- // File for errors
31
27
  new winston_1.transports.File({
32
28
  filename: `logs/error-${getDate()}.log`,
33
29
  level: "error",
34
30
  }),
35
31
  ],
36
- });
37
- }
38
- else {
39
- exports.logger = logger = {
32
+ })
33
+ : {
40
34
  info: console.log,
41
35
  error: console.error,
42
36
  warn: console.warn,
43
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
+ }
44
58
  }
59
+ exports.Logger = Logger;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "core-mb",
3
- "version": "1.1.5",
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,53 +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
- let logger;
10
-
11
- if (typeof window === 'undefined') {
12
- logger = 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
- // Console output
24
- new transports.Console(),
25
-
26
- // File for info
27
- new transports.File({
28
- filename: `logs/info-${getDate()}.log`,
9
+ // === Keep your existing Winston logger exactly as before ===
10
+ const baseLogger =
11
+ typeof window === "undefined"
12
+ ? createLogger({
29
13
  level: "info",
30
- }),
31
-
32
- // File for warnings
33
- new transports.File({
34
- filename: `logs/warning-${getDate()}.log`,
35
- level: "warn",
36
- }),
37
-
38
- // File for errors
39
- new transports.File({
40
- filename: `logs/error-${getDate()}.log`,
41
- level: "error",
42
- }),
43
- ],
44
- });
45
- } else {
46
- logger = {
47
- info: console.log,
48
- error: console.error,
49
- warn: console.warn,
50
- };
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
+ }
51
65
  }
52
66
 
53
- export { logger };
67
+ // === Optional: export original baseLogger ===
68
+ export { baseLogger as logger };