@nocobase/logger 0.20.0-alpha.8 → 0.21.0-alpha.1

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.
@@ -58,12 +58,13 @@ const _SystemLoggerTransport = class _SystemLoggerTransport extends import_winst
58
58
  }
59
59
  }
60
60
  log(info, callback) {
61
- const { level, message, reqId, app, [import_triple_beam.SPLAT]: args } = info;
61
+ const { level, message, reqId, app, stack, cause, [import_triple_beam.SPLAT]: args } = info;
62
62
  const logger = level === "error" && this.errorLogger ? this.errorLogger : this.logger;
63
63
  const { module: module2, submodule, method, ...meta } = (args == null ? void 0 : args[0]) || {};
64
64
  logger.log({
65
65
  level,
66
66
  message,
67
+ stack,
67
68
  meta,
68
69
  module: module2 || info["module"] || "",
69
70
  submodule: submodule || info["submodule"] || "",
@@ -71,14 +72,50 @@ const _SystemLoggerTransport = class _SystemLoggerTransport extends import_winst
71
72
  app,
72
73
  reqId
73
74
  });
75
+ if (cause) {
76
+ logger.log({
77
+ level,
78
+ message: cause.message,
79
+ stack: cause.stack,
80
+ app,
81
+ reqId
82
+ });
83
+ }
74
84
  callback(null, true);
75
85
  }
76
86
  };
77
87
  __name(_SystemLoggerTransport, "SystemLoggerTransport");
78
88
  let SystemLoggerTransport = _SystemLoggerTransport;
79
- const createSystemLogger = /* @__PURE__ */ __name((options) => import_winston.default.createLogger({
80
- transports: [new SystemLoggerTransport(options)]
81
- }), "createSystemLogger");
89
+ function child(defaultRequestMetadata) {
90
+ const logger = this;
91
+ return Object.create(logger, {
92
+ write: {
93
+ value: function(info) {
94
+ const infoClone = Object.assign({}, defaultRequestMetadata, info);
95
+ if (info instanceof Error) {
96
+ infoClone.stack = info.stack;
97
+ infoClone.message = info.message;
98
+ infoClone.cause = info.cause;
99
+ }
100
+ logger.write(infoClone);
101
+ }
102
+ }
103
+ });
104
+ }
105
+ __name(child, "child");
106
+ const createSystemLogger = /* @__PURE__ */ __name((options) => {
107
+ const logger = import_winston.default.createLogger({
108
+ transports: [new SystemLoggerTransport(options)]
109
+ });
110
+ return new Proxy(logger, {
111
+ get(target, prop) {
112
+ if (prop === "child") {
113
+ return child.bind(target);
114
+ }
115
+ return Reflect.get(target, prop);
116
+ }
117
+ });
118
+ }, "createSystemLogger");
82
119
  // Annotate the CommonJS export names for ESM import in node:
83
120
  0 && (module.exports = {
84
121
  createSystemLogger
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/logger",
3
- "version": "0.20.0-alpha.8",
3
+ "version": "0.21.0-alpha.1",
4
4
  "description": "nocobase logging library",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./lib/index.js",
@@ -18,5 +18,5 @@
18
18
  "winston-daily-rotate-file": "^4.7.1",
19
19
  "winston-transport": "^4.5.0"
20
20
  },
21
- "gitHead": "39ebc1cefe5a826aecf0b14d73530dfa5f9c2b1c"
21
+ "gitHead": "afd2f3d1341b85ea9daa7b2667dd4ace1fafb7ff"
22
22
  }