@commercetools-backend/loggers 27.5.4 → 27.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.
@@ -17,10 +17,11 @@ var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-
17
17
  var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
18
18
  var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
19
19
  var cloneDeep = require('lodash/cloneDeep');
20
+ var has = require('lodash/has');
21
+ var set = require('lodash/set');
22
+ var logform = require('logform');
20
23
  var getIn = require('lodash/get');
21
- var setIn = require('lodash/set');
22
24
  var unsetIn = require('lodash/unset');
23
- var logform = require('logform');
24
25
 
25
26
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
26
27
 
@@ -55,8 +56,9 @@ var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_O
55
56
  var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
56
57
  var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
57
58
  var cloneDeep__default = /*#__PURE__*/_interopDefault(cloneDeep);
59
+ var has__default = /*#__PURE__*/_interopDefault(has);
60
+ var set__default = /*#__PURE__*/_interopDefault(set);
58
61
  var getIn__default = /*#__PURE__*/_interopDefault(getIn);
59
- var setIn__default = /*#__PURE__*/_interopDefault(setIn);
60
62
  var unsetIn__default = /*#__PURE__*/_interopDefault(unsetIn);
61
63
 
62
64
  function ownKeys(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -130,6 +132,20 @@ const createApplicationLogger = function () {
130
132
  });
131
133
  };
132
134
 
135
+ const REDACTED = '[REDACTED]';
136
+ function redactFieldsFormatter(options) {
137
+ return logform.format(info => {
138
+ var _context;
139
+ const clone = cloneDeep__default["default"](info);
140
+ _forEachInstanceProperty__default["default"](_context = options.fields).call(_context, field => {
141
+ if (has__default["default"](clone, field)) {
142
+ set__default["default"](clone, field, REDACTED);
143
+ }
144
+ });
145
+ return clone;
146
+ })(options);
147
+ }
148
+
133
149
  function rewriteField(info, field) {
134
150
  const fromFieldValue = getIn__default["default"](info, field.from);
135
151
  const preserveFromField = field.preserveFromField ?? false;
@@ -137,7 +153,7 @@ function rewriteField(info, field) {
137
153
  if (!preserveFromField) {
138
154
  unsetIn__default["default"](info, field.from);
139
155
  }
140
- setIn__default["default"](info, field.to, field.replaceValue ? field.replaceValue(fromFieldValue) : fromFieldValue);
156
+ set__default["default"](info, field.to, field.replaceValue ? field.replaceValue(fromFieldValue) : fromFieldValue);
141
157
  }
142
158
  }
143
159
  function rewriteFieldsFormatter(options) {
@@ -153,4 +169,5 @@ function rewriteFieldsFormatter(options) {
153
169
 
154
170
  exports.createAccessLoggerMiddleware = createAccessLoggerMiddleware;
155
171
  exports.createApplicationLogger = createApplicationLogger;
172
+ exports.redactFieldsFormatter = redactFieldsFormatter;
156
173
  exports.rewriteFieldsFormatter = rewriteFieldsFormatter;
@@ -17,10 +17,11 @@ var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-
17
17
  var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
18
18
  var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
19
19
  var cloneDeep = require('lodash/cloneDeep');
20
+ var has = require('lodash/has');
21
+ var set = require('lodash/set');
22
+ var logform = require('logform');
20
23
  var getIn = require('lodash/get');
21
- var setIn = require('lodash/set');
22
24
  var unsetIn = require('lodash/unset');
23
- var logform = require('logform');
24
25
 
25
26
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
26
27
 
@@ -55,8 +56,9 @@ var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_O
55
56
  var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
56
57
  var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
57
58
  var cloneDeep__default = /*#__PURE__*/_interopDefault(cloneDeep);
59
+ var has__default = /*#__PURE__*/_interopDefault(has);
60
+ var set__default = /*#__PURE__*/_interopDefault(set);
58
61
  var getIn__default = /*#__PURE__*/_interopDefault(getIn);
59
- var setIn__default = /*#__PURE__*/_interopDefault(setIn);
60
62
  var unsetIn__default = /*#__PURE__*/_interopDefault(unsetIn);
61
63
 
62
64
  function ownKeys(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -130,6 +132,20 @@ const createApplicationLogger = function () {
130
132
  });
131
133
  };
132
134
 
135
+ const REDACTED = '[REDACTED]';
136
+ function redactFieldsFormatter(options) {
137
+ return logform.format(info => {
138
+ var _context;
139
+ const clone = cloneDeep__default["default"](info);
140
+ _forEachInstanceProperty__default["default"](_context = options.fields).call(_context, field => {
141
+ if (has__default["default"](clone, field)) {
142
+ set__default["default"](clone, field, REDACTED);
143
+ }
144
+ });
145
+ return clone;
146
+ })(options);
147
+ }
148
+
133
149
  function rewriteField(info, field) {
134
150
  const fromFieldValue = getIn__default["default"](info, field.from);
135
151
  const preserveFromField = field.preserveFromField ?? false;
@@ -137,7 +153,7 @@ function rewriteField(info, field) {
137
153
  if (!preserveFromField) {
138
154
  unsetIn__default["default"](info, field.from);
139
155
  }
140
- setIn__default["default"](info, field.to, field.replaceValue ? field.replaceValue(fromFieldValue) : fromFieldValue);
156
+ set__default["default"](info, field.to, field.replaceValue ? field.replaceValue(fromFieldValue) : fromFieldValue);
141
157
  }
142
158
  }
143
159
  function rewriteFieldsFormatter(options) {
@@ -153,4 +169,5 @@ function rewriteFieldsFormatter(options) {
153
169
 
154
170
  exports.createAccessLoggerMiddleware = createAccessLoggerMiddleware;
155
171
  exports.createApplicationLogger = createApplicationLogger;
172
+ exports.redactFieldsFormatter = redactFieldsFormatter;
156
173
  exports.rewriteFieldsFormatter = rewriteFieldsFormatter;
@@ -14,10 +14,11 @@ import _Object$getOwnPropertyDescriptors from '@babel/runtime-corejs3/core-js-st
14
14
  import _Object$defineProperties from '@babel/runtime-corejs3/core-js-stable/object/define-properties';
15
15
  import _Object$defineProperty from '@babel/runtime-corejs3/core-js-stable/object/define-property';
16
16
  import cloneDeep from 'lodash/cloneDeep';
17
+ import has from 'lodash/has';
18
+ import set from 'lodash/set';
19
+ import { format } from 'logform';
17
20
  import getIn from 'lodash/get';
18
- import setIn from 'lodash/set';
19
21
  import unsetIn from 'lodash/unset';
20
- import { format } from 'logform';
21
22
 
22
23
  function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
24
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context3 = ownKeys(Object(t))).call(_context3, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -90,6 +91,20 @@ const createApplicationLogger = function () {
90
91
  });
91
92
  };
92
93
 
94
+ const REDACTED = '[REDACTED]';
95
+ function redactFieldsFormatter(options) {
96
+ return format(info => {
97
+ var _context;
98
+ const clone = cloneDeep(info);
99
+ _forEachInstanceProperty(_context = options.fields).call(_context, field => {
100
+ if (has(clone, field)) {
101
+ set(clone, field, REDACTED);
102
+ }
103
+ });
104
+ return clone;
105
+ })(options);
106
+ }
107
+
93
108
  function rewriteField(info, field) {
94
109
  const fromFieldValue = getIn(info, field.from);
95
110
  const preserveFromField = field.preserveFromField ?? false;
@@ -97,7 +112,7 @@ function rewriteField(info, field) {
97
112
  if (!preserveFromField) {
98
113
  unsetIn(info, field.from);
99
114
  }
100
- setIn(info, field.to, field.replaceValue ? field.replaceValue(fromFieldValue) : fromFieldValue);
115
+ set(info, field.to, field.replaceValue ? field.replaceValue(fromFieldValue) : fromFieldValue);
101
116
  }
102
117
  }
103
118
  function rewriteFieldsFormatter(options) {
@@ -111,4 +126,4 @@ function rewriteFieldsFormatter(options) {
111
126
  })(options);
112
127
  }
113
128
 
114
- export { createAccessLoggerMiddleware, createApplicationLogger, rewriteFieldsFormatter };
129
+ export { createAccessLoggerMiddleware, createApplicationLogger, redactFieldsFormatter, rewriteFieldsFormatter };
@@ -0,0 +1,5 @@
1
+ type TRedactFieldsFormatterOption = {
2
+ fields: string[];
3
+ };
4
+ declare function redactFieldsFormatter(options: TRedactFieldsFormatterOption): import("logform").Format;
5
+ export default redactFieldsFormatter;
@@ -1,3 +1,4 @@
1
1
  export { default as createAccessLoggerMiddleware } from "./middlewares/create-access-logger.js";
2
2
  export { default as createApplicationLogger } from "./create-application-logger.js";
3
+ export { default as redactFieldsFormatter } from "./formatters/redact-fields.js";
3
4
  export { default as rewriteFieldsFormatter } from "./formatters/rewrite-fields.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@commercetools-backend/loggers",
3
- "version": "27.5.4",
3
+ "version": "27.6.0",
4
4
  "description": "Opinionated JSON loggers for HTTP server applications",
5
5
  "bugs": "https://github.com/commercetools/merchant-center-application-kit/issues",
6
6
  "repository": {