@nocobase/logger 0.12.0-alpha.5 → 0.13.0-alpha.10

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,95 +1,93 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var create_app_logger_exports = {};
20
+ __export(create_app_logger_exports, {
21
+ createAppLogger: () => createAppLogger,
22
+ default: () => create_app_logger_default
5
23
  });
6
- exports.createAppLogger = createAppLogger;
7
- exports.default = void 0;
8
- function _crypto() {
9
- const data = require("crypto");
10
- _crypto = function _crypto() {
11
- return data;
12
- };
13
- return data;
14
- }
15
- function _lodash() {
16
- const data = require("lodash");
17
- _lodash = function _lodash() {
18
- return data;
19
- };
20
- return data;
21
- }
22
- var _createLogger = require("./create-logger");
23
- const _excluded = ["skip", "requestWhitelist", "responseWhitelist"];
24
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
25
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
26
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
27
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
28
- const defaultRequestWhitelist = ['action', 'header.x-role', 'header.x-hostname', 'header.x-timezone', 'header.x-locale', 'referer'];
29
- const defaultResponseWhitelist = ['status'];
24
+ module.exports = __toCommonJS(create_app_logger_exports);
25
+ var import_crypto = require("crypto");
26
+ var import_lodash = require("lodash");
27
+ var import_create_logger = require("./create-logger");
28
+ const defaultRequestWhitelist = [
29
+ "action",
30
+ "header.x-role",
31
+ "header.x-hostname",
32
+ "header.x-timezone",
33
+ "header.x-locale",
34
+ "referer"
35
+ ];
36
+ const defaultResponseWhitelist = ["status"];
30
37
  function createAppLogger(options = {}) {
31
- const skip = options.skip,
32
- _options$requestWhite = options.requestWhitelist,
33
- requestWhitelist = _options$requestWhite === void 0 ? defaultRequestWhitelist : _options$requestWhite,
34
- _options$responseWhit = options.responseWhitelist,
35
- responseWhitelist = _options$responseWhit === void 0 ? defaultResponseWhitelist : _options$responseWhit,
36
- others = _objectWithoutProperties(options, _excluded);
37
- const instance = (0, _createLogger.createLogger)(others);
38
- const middleware = /*#__PURE__*/function () {
39
- var _ref = _asyncToGenerator(function* (ctx, next) {
40
- if (skip && (yield skip(ctx))) {
41
- return next();
42
- }
43
- const logger = ctx.app['logger'];
44
- const startTime = Date.now();
45
- const info = {
46
- level: 'info',
47
- message: `END: ${ctx.method} ${ctx.url}`,
48
- req: ctx.request.toJSON()
49
- };
50
- ctx.reqId = ctx.req['id'] = (0, _crypto().randomUUID)();
51
- ctx.logger = ctx.log = logger.child({
52
- reqId: ctx.reqId
53
- });
54
- ctx.logger.info(`BEGIN: ${ctx.method} ${ctx.url}`);
55
- let error;
56
- try {
57
- yield next();
58
- } catch (e) {
59
- error = e;
60
- } finally {
61
- info['res'] = ctx.response.toJSON();
62
- // info['status'] = ctx.status;
63
- if (Math.floor(ctx.status / 100) == 5) {
64
- var _ctx$body;
65
- info.level = 'error';
66
- info['errors'] = ((_ctx$body = ctx.body) === null || _ctx$body === void 0 ? void 0 : _ctx$body['errors']) || ctx.body;
67
- } else if (Math.floor(ctx.status / 100) == 4) {
68
- var _ctx$body2;
69
- info.level = 'warn';
70
- info['errors'] = ((_ctx$body2 = ctx.body) === null || _ctx$body2 === void 0 ? void 0 : _ctx$body2['errors']) || ctx.body;
71
- }
72
- info['responseTime'] = Date.now() - startTime;
73
- if (ctx.action) {
74
- var _ctx$action, _ctx$action$toJSON;
75
- info['req']['action'] = (_ctx$action = ctx.action) === null || _ctx$action === void 0 ? void 0 : (_ctx$action$toJSON = _ctx$action.toJSON) === null || _ctx$action$toJSON === void 0 ? void 0 : _ctx$action$toJSON.call(_ctx$action);
76
- }
77
- info['req'] = (0, _lodash().pick)(info['req'], requestWhitelist);
78
- info['res'] = (0, _lodash().pick)(info['res'], responseWhitelist);
79
- ctx.logger.log(info);
38
+ const {
39
+ skip,
40
+ requestWhitelist = defaultRequestWhitelist,
41
+ responseWhitelist = defaultResponseWhitelist,
42
+ ...others
43
+ } = options;
44
+ const instance = (0, import_create_logger.createLogger)(others);
45
+ const middleware = /* @__PURE__ */ __name(async (ctx, next) => {
46
+ var _a, _b, _c, _d;
47
+ if (skip && await skip(ctx)) {
48
+ return next();
49
+ }
50
+ const logger = ctx.app["logger"];
51
+ const startTime = Date.now();
52
+ const info = {
53
+ level: "info",
54
+ message: `END: ${ctx.method} ${ctx.url}`,
55
+ req: ctx.request.toJSON()
56
+ };
57
+ ctx.reqId = ctx.req["id"] = (0, import_crypto.randomUUID)();
58
+ ctx.logger = ctx.log = logger.child({ reqId: ctx.reqId });
59
+ ctx.logger.info(`BEGIN: ${ctx.method} ${ctx.url}`);
60
+ let error;
61
+ try {
62
+ await next();
63
+ } catch (e) {
64
+ error = e;
65
+ } finally {
66
+ info["res"] = ctx.response.toJSON();
67
+ if (Math.floor(ctx.status / 100) == 5) {
68
+ info.level = "error";
69
+ info["errors"] = ((_a = ctx.body) == null ? void 0 : _a["errors"]) || ctx.body;
70
+ } else if (Math.floor(ctx.status / 100) == 4) {
71
+ info.level = "warn";
72
+ info["errors"] = ((_b = ctx.body) == null ? void 0 : _b["errors"]) || ctx.body;
80
73
  }
81
- if (error) {
82
- throw error;
74
+ info["responseTime"] = Date.now() - startTime;
75
+ if (ctx.action) {
76
+ info["req"]["action"] = (_d = (_c = ctx.action) == null ? void 0 : _c.toJSON) == null ? void 0 : _d.call(_c);
83
77
  }
84
- });
85
- return function middleware(_x, _x2) {
86
- return _ref.apply(this, arguments);
87
- };
88
- }();
89
- return {
90
- instance,
91
- middleware
92
- };
78
+ info["req"] = (0, import_lodash.pick)(info["req"], requestWhitelist);
79
+ info["res"] = (0, import_lodash.pick)(info["res"], responseWhitelist);
80
+ ctx.logger.log(info);
81
+ }
82
+ if (error) {
83
+ throw error;
84
+ }
85
+ }, "middleware");
86
+ return { instance, middleware };
93
87
  }
94
- var _default = createAppLogger;
95
- exports.default = _default;
88
+ __name(createAppLogger, "createAppLogger");
89
+ var create_app_logger_default = createAppLogger;
90
+ // Annotate the CommonJS export names for ESM import in node:
91
+ 0 && (module.exports = {
92
+ createAppLogger
93
+ });
@@ -1,94 +1,104 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "Logger", {
7
- enumerable: true,
8
- get: function get() {
9
- return _winston().Logger;
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
17
  }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var create_logger_exports = {};
30
+ __export(create_logger_exports, {
31
+ Logger: () => import_winston.Logger,
32
+ Transports: () => Transports,
33
+ createLogger: () => createLogger,
34
+ getLoggerFilePath: () => getLoggerFilePath,
35
+ getLoggerLevel: () => getLoggerLevel
11
36
  });
12
- exports.Transports = void 0;
13
- exports.createLogger = createLogger;
14
- exports.getLoggerFilePath = getLoggerFilePath;
15
- exports.getLoggerLevel = getLoggerLevel;
16
- function _path() {
17
- const data = _interopRequireDefault(require("path"));
18
- _path = function _path() {
19
- return data;
20
- };
21
- return data;
22
- }
23
- function _winston() {
24
- const data = _interopRequireWildcard(require("winston"));
25
- _winston = function _winston() {
26
- return data;
27
- };
28
- return data;
29
- }
30
- require("winston-daily-rotate-file");
31
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
32
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
35
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
36
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
37
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
38
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
39
- const combine = _winston().format.combine,
40
- timestamp = _winston().format.timestamp,
41
- colorize = _winston().format.colorize,
42
- simple = _winston().format.simple;
37
+ module.exports = __toCommonJS(create_logger_exports);
38
+ var import_path = __toESM(require("path"));
39
+ var import_winston = __toESM(require("winston"));
40
+ var import_winston_daily_rotate_file = require("winston-daily-rotate-file");
41
+ const { combine, timestamp, colorize, simple } = import_winston.format;
43
42
  function getLoggerLevel() {
44
- return process.env.LOGGER_LEVEL || 'info';
43
+ return process.env.LOGGER_LEVEL || "info";
45
44
  }
45
+ __name(getLoggerLevel, "getLoggerLevel");
46
46
  function getLoggerFilePath(...paths) {
47
- return _path().default.resolve(process.env.LOGGER_BASE_PATH || _path().default.resolve(process.cwd(), 'storage', 'logs'), ...paths);
47
+ return import_path.default.resolve(process.env.LOGGER_BASE_PATH || import_path.default.resolve(process.cwd(), "storage", "logs"), ...paths);
48
48
  }
49
+ __name(getLoggerFilePath, "getLoggerFilePath");
49
50
  const Transports = {
50
51
  console(options) {
51
- return new (_winston().default.transports.Console)(_objectSpread({
52
- format: combine(simple(), colorize())
53
- }, options));
52
+ return new import_winston.default.transports.Console({
53
+ format: combine(simple(), colorize()),
54
+ ...options
55
+ });
54
56
  },
55
57
  dailyRotateFile(options) {
56
58
  let dirname = getLoggerFilePath();
57
- if (!_path().default.isAbsolute(dirname)) {
58
- dirname = _path().default.resolve(process.cwd(), dirname);
59
+ if (!import_path.default.isAbsolute(dirname)) {
60
+ dirname = import_path.default.resolve(process.cwd(), dirname);
59
61
  }
60
- return new (_winston().default.transports.DailyRotateFile)(_objectSpread({
62
+ return new import_winston.default.transports.DailyRotateFile({
61
63
  dirname,
62
64
  level: getLoggerLevel(),
63
- filename: 'nocobase-%DATE%.log',
64
- datePattern: 'YYYY-MM-DD-HH',
65
- maxFiles: '14d'
66
- }, options));
65
+ filename: "nocobase-%DATE%.log",
66
+ datePattern: "YYYY-MM-DD-HH",
67
+ maxFiles: "14d",
68
+ ...options
69
+ });
67
70
  }
68
71
  };
69
- exports.Transports = Transports;
70
72
  function toArr(value) {
71
73
  if (Array.isArray(value)) {
72
74
  return value;
73
75
  }
74
- return value ? value.split(',') : [];
76
+ return value ? value.split(",") : [];
75
77
  }
78
+ __name(toArr, "toArr");
76
79
  function createLogger(options = {}) {
77
- const transports = toArr((options === null || options === void 0 ? void 0 : options.transports) || ['console', 'dailyRotateFile']).map(t => {
78
- if (typeof t === 'string') {
80
+ const transports = toArr((options == null ? void 0 : options.transports) || ["console", "dailyRotateFile"]).map((t) => {
81
+ if (typeof t === "string") {
79
82
  return Transports[t]();
80
83
  }
81
84
  return t;
82
- }).filter(t => t);
83
- const logger = _winston().default.createLogger(_objectSpread(_objectSpread({
85
+ }).filter((t) => t);
86
+ const logger = import_winston.default.createLogger({
84
87
  level: getLoggerLevel(),
85
- levels: _winston().default.config.cli.levels,
86
- format: combine(timestamp(), _winston().format.errors({
87
- stack: true
88
- }), _winston().format.json(), colorize())
89
- }, options), {}, {
88
+ levels: import_winston.default.config.cli.levels,
89
+ format: combine(timestamp(), import_winston.format.errors({ stack: true }), import_winston.format.json(), colorize()),
90
+ ...options,
90
91
  transports
91
- }));
92
- _winston().default.addColors(_winston().default.config.cli.colors);
92
+ });
93
+ import_winston.default.addColors(import_winston.default.config.cli.colors);
93
94
  return logger;
94
- }
95
+ }
96
+ __name(createLogger, "createLogger");
97
+ // Annotate the CommonJS export names for ESM import in node:
98
+ 0 && (module.exports = {
99
+ Logger,
100
+ Transports,
101
+ createLogger,
102
+ getLoggerFilePath,
103
+ getLoggerLevel
104
+ });
package/lib/index.js CHANGED
@@ -1,27 +1,23 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var src_exports = {};
16
+ module.exports = __toCommonJS(src_exports);
17
+ __reExport(src_exports, require("./create-app-logger"), module.exports);
18
+ __reExport(src_exports, require("./create-logger"), module.exports);
19
+ // Annotate the CommonJS export names for ESM import in node:
20
+ 0 && (module.exports = {
21
+ ...require("./create-app-logger"),
22
+ ...require("./create-logger")
5
23
  });
6
- var _createAppLogger = require("./create-app-logger");
7
- Object.keys(_createAppLogger).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _createAppLogger[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function get() {
13
- return _createAppLogger[key];
14
- }
15
- });
16
- });
17
- var _createLogger = require("./create-logger");
18
- Object.keys(_createLogger).forEach(function (key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (key in exports && exports[key] === _createLogger[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function get() {
24
- return _createLogger[key];
25
- }
26
- });
27
- });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/logger",
3
- "version": "0.12.0-alpha.5",
3
+ "version": "0.13.0-alpha.10",
4
4
  "description": "nocobase logging library",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./lib/index.js",
@@ -15,5 +15,5 @@
15
15
  "winston": "^3.8.2",
16
16
  "winston-daily-rotate-file": "^4.7.1"
17
17
  },
18
- "gitHead": "689cc16e83361c4d0b91907e0deac30bdb907692"
18
+ "gitHead": "5360ed81650f6895f3ed39aede2706467d55862c"
19
19
  }