@decaf-ts/for-fabric 0.5.1-query → 0.5.1-query.3

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.
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ContractLogger = void 0;
4
4
  const logging_1 = require("@decaf-ts/logging");
5
5
  const db_decorators_1 = require("@decaf-ts/db-decorators");
6
+ const logging_context_1 = require("./../contract/logging-context.cjs");
7
+ (0, logging_context_1.ensureContractLogFieldRegistration)();
6
8
  /**
7
9
  * @description Logger implementation for Fabric chaincode contracts
8
10
  * @summary Adapts the standard logging interface to work with Fabric's chaincode context
@@ -35,13 +37,22 @@ const db_decorators_1 = require("@decaf-ts/db-decorators");
35
37
  */
36
38
  class ContractLogger extends logging_1.MiniLogger {
37
39
  constructor(context, conf, ctx) {
38
- super(context, conf);
40
+ const normalizedConfig = (0, logging_context_1.enrichContractLoggingConfig)(conf, ctx);
41
+ super(context, normalizedConfig);
39
42
  if (!ctx) {
40
- this.logger = new logging_1.MiniLogger(context, conf);
43
+ this.sink = {
44
+ info: (msg) => console.log(msg),
45
+ verbose: (msg) => console.log(msg),
46
+ debug: (msg) => console.debug(msg),
47
+ error: (msg) => console.error(msg),
48
+ trace: (msg) => console.trace(msg),
49
+ warn: (msg) => console.warn(msg),
50
+ silly: (msg) => console.debug(msg),
51
+ };
41
52
  }
42
53
  else {
43
- this.logger = ctx.logging.getLogger(context);
44
- ctx.logging.setLevel(conf?.level || logging_1.Logging.getConfig().level);
54
+ this.sink = ctx.logging.getLogger(context);
55
+ ctx.logging.setLevel(normalizedConfig?.level || logging_1.Logging.getConfig().level);
45
56
  }
46
57
  }
47
58
  /**
@@ -52,40 +63,40 @@ class ContractLogger extends logging_1.MiniLogger {
52
63
  * @param {Error} [stack] - Optional stack trace for errors
53
64
  * @return {void}
54
65
  */
55
- log(level, msg, stack) {
66
+ log(level, msg, error, meta) {
56
67
  if (logging_1.NumericLogLevels[this.config("level")] <
57
68
  logging_1.NumericLogLevels[level])
58
69
  return;
59
70
  let method;
60
71
  switch (level) {
61
72
  case logging_1.LogLevel.benchmark:
62
- method = this.logger.verbose;
73
+ method = this.sink.verbose;
63
74
  break;
64
75
  case logging_1.LogLevel.info:
65
- method = this.logger.info;
76
+ method = this.sink.info;
66
77
  break;
67
78
  case logging_1.LogLevel.verbose:
68
- method = this.logger.verbose;
79
+ method = this.sink.verbose;
69
80
  break;
70
81
  case logging_1.LogLevel.debug:
71
- method = this.logger.debug;
82
+ method = this.sink.debug;
72
83
  break;
73
84
  case logging_1.LogLevel.error:
74
- method = this.logger.error;
85
+ method = this.sink.error;
75
86
  break;
76
87
  case logging_1.LogLevel.trace:
77
- method = this.logger.trace;
88
+ method = this.sink.trace;
78
89
  break;
79
90
  case logging_1.LogLevel.warn:
80
- method = this.logger.warn;
91
+ method = this.sink.warn;
81
92
  break;
82
93
  case logging_1.LogLevel.silly:
83
- method = this.logger.silly;
94
+ method = this.sink.silly;
84
95
  break;
85
96
  default:
86
97
  throw new db_decorators_1.InternalError("Invalid log level");
87
98
  }
88
- method.call(this.logger, this.createLog(level, msg, stack));
99
+ method.call(this.sink, this.createLog(level, msg, error, meta));
89
100
  }
90
101
  }
91
102
  exports.ContractLogger = ContractLogger;
@@ -104,4 +115,4 @@ const factory = (object, config, ctx) => {
104
115
  };
105
116
  // Set the factory as the default logger factory
106
117
  logging_1.Logging.setFactory(factory);
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdHMvbG9nZ2luZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FRMkI7QUFHM0IsMkRBQXdEO0FBRXhEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZCRztBQUNILE1BQWEsY0FBZSxTQUFRLG9CQUFVO0lBTTVDLFlBQ0UsT0FBZSxFQUNmLElBQXdDLEVBQ3hDLEdBQVM7UUFFVCxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXJCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxvQkFBVSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM5QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFzQixDQUFDO1lBQ2xFLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLElBQUksaUJBQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRSxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDZ0IsR0FBRyxDQUNwQixLQUFlLEVBQ2YsR0FBdUIsRUFDdkIsS0FBYTtRQUViLElBQ0UsMEJBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQWEsQ0FBQztZQUNsRCwwQkFBZ0IsQ0FBQyxLQUFLLENBQUM7WUFFdkIsT0FBTztRQUVULElBQUksTUFBTSxDQUFDO1FBQ1gsUUFBUSxLQUFLLEVBQUUsQ0FBQztZQUNkLEtBQUssa0JBQVEsQ0FBQyxTQUFTO2dCQUNyQixNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7Z0JBQzdCLE1BQU07WUFDUixLQUFLLGtCQUFRLENBQUMsSUFBSTtnQkFDaEIsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO2dCQUMxQixNQUFNO1lBQ1IsS0FBSyxrQkFBUSxDQUFDLE9BQU87Z0JBQ25CLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztnQkFDN0IsTUFBTTtZQUNSLEtBQUssa0JBQVEsQ0FBQyxLQUFLO2dCQUNqQixNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7Z0JBQzNCLE1BQU07WUFDUixLQUFLLGtCQUFRLENBQUMsS0FBSztnQkFDakIsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO2dCQUMzQixNQUFNO1lBQ1IsS0FBSyxrQkFBUSxDQUFDLEtBQUs7Z0JBQ2pCLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDM0IsTUFBTTtZQUNSLEtBQUssa0JBQVEsQ0FBQyxJQUFJO2dCQUNoQixNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQzFCLE1BQU07WUFDUixLQUFLLGtCQUFRLENBQUMsS0FBSztnQkFDakIsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO2dCQUMzQixNQUFNO1lBQ1I7Z0JBQ0UsTUFBTSxJQUFJLDZCQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7Q0FDRjtBQXZFRCx3Q0F1RUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLE9BQU8sR0FBa0IsQ0FDN0IsTUFBZSxFQUNmLE1BQStCLEVBQy9CLEdBQVMsRUFDVCxFQUFFO0lBQ0YsT0FBTyxJQUFJLGNBQWMsQ0FDdkIsTUFBTSxJQUFJLGNBQWMsQ0FBQyxJQUFJLEVBQzdCLE1BQU0sSUFBSSxFQUFFLEVBQ1osR0FBVSxDQUNYLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixnREFBZ0Q7QUFDaEQsaUJBQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBMb2dnZXJGYWN0b3J5LFxuICBMb2dnaW5nLFxuICBMb2dnZXIsXG4gIExvZ0xldmVsLFxuICBNaW5pTG9nZ2VyLFxuICBOdW1lcmljTG9nTGV2ZWxzLFxuICBTdHJpbmdMaWtlLFxufSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcbmltcG9ydCB7IExvZ2dpbmdDb25maWcgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgQ3R4IH0gZnJvbSBcImZhYnJpYy1jb250cmFjdC1hcGlcIjtcbmltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gTG9nZ2VyIGltcGxlbWVudGF0aW9uIGZvciBGYWJyaWMgY2hhaW5jb2RlIGNvbnRyYWN0c1xuICogQHN1bW1hcnkgQWRhcHRzIHRoZSBzdGFuZGFyZCBsb2dnaW5nIGludGVyZmFjZSB0byB3b3JrIHdpdGggRmFicmljJ3MgY2hhaW5jb2RlIGNvbnRleHRcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gY29udGV4dCAtIFRoZSBsb2dnaW5nIGNvbnRleHQgbmFtZVxuICogQHBhcmFtIHtQYXJ0aWFsPExvZ2dpbmdDb25maWc+IHwgdW5kZWZpbmVkfSBjb25mIC0gT3B0aW9uYWwgbG9nZ2luZyBjb25maWd1cmF0aW9uXG4gKiBAcGFyYW0ge0N0eH0gY3R4IC0gVGhlIEZhYnJpYyBjaGFpbmNvZGUgY29udGV4dFxuICpcbiAqIEBjbGFzcyBDb250cmFjdExvZ2dlclxuICogQGV4dGVuZHMge01pbmlMb2dnZXJ9XG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gSW4gYSBGYWJyaWMgY2hhaW5jb2RlIGNvbnRyYWN0XG4gKiBpbXBvcnQgeyBDb250cmFjdExvZ2dlciB9IGZyb20gJ0BkZWNhZi10cy9mb3ItZmFicmljJztcbiAqXG4gKiBleHBvcnQgY2xhc3MgTXlDb250cmFjdCBleHRlbmRzIENvbnRyYWN0IHtcbiAqICAgQFRyYW5zYWN0aW9uKClcbiAqICAgYXN5bmMgbXlGdW5jdGlvbihjdHg6IENvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAqICAgICBjb25zdCBsb2dnZXIgPSBuZXcgQ29udHJhY3RMb2dnZXIoJ015Q29udHJhY3QnLCB7IGxldmVsOiAnaW5mbycgfSwgY3R4KTtcbiAqXG4gKiAgICAgbG9nZ2VyLmluZm8oJ1Byb2Nlc3NpbmcgdHJhbnNhY3Rpb24nKTtcbiAqICAgICBsb2dnZXIuZGVidWcoJ1RyYW5zYWN0aW9uIGRldGFpbHM6JywgeyAuLi4gfSk7XG4gKlxuICogICAgIC8vIERvIHNvbWV0aGluZ1xuICpcbiAqICAgICBsb2dnZXIuaW5mbygnVHJhbnNhY3Rpb24gY29tcGxldGUnKTtcbiAqICAgfVxuICogfVxuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBDb250cmFjdExvZ2dlciBleHRlbmRzIE1pbmlMb2dnZXIge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSB1bmRlcmx5aW5nIEZhYnJpYyBsb2dnZXIgaW5zdGFuY2VcbiAgICovXG4gIHByb3RlY3RlZCBsb2dnZXIhOiBMb2dnZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY29udGV4dDogc3RyaW5nLFxuICAgIGNvbmY6IFBhcnRpYWw8TG9nZ2luZ0NvbmZpZz4gfCB1bmRlZmluZWQsXG4gICAgY3R4PzogQ3R4XG4gICkge1xuICAgIHN1cGVyKGNvbnRleHQsIGNvbmYpO1xuXG4gICAgaWYgKCFjdHgpIHtcbiAgICAgIHRoaXMubG9nZ2VyID0gbmV3IE1pbmlMb2dnZXIoY29udGV4dCwgY29uZik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyID0gY3R4LmxvZ2dpbmcuZ2V0TG9nZ2VyKGNvbnRleHQpIGFzIHVua25vd24gYXMgTG9nZ2VyO1xuICAgICAgY3R4LmxvZ2dpbmcuc2V0TGV2ZWwoY29uZj8ubGV2ZWwgfHwgTG9nZ2luZy5nZXRDb25maWcoKS5sZXZlbCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBMb2dzIGEgbWVzc2FnZSBhdCB0aGUgc3BlY2lmaWVkIGxldmVsXG4gICAqIEBzdW1tYXJ5IE92ZXJyaWRlcyB0aGUgYmFzZSBsb2cgbWV0aG9kIHRvIHVzZSB0aGUgRmFicmljIGNvbnRleHQncyBsb2dnZXJcbiAgICogQHBhcmFtIHtMb2dMZXZlbH0gbGV2ZWwgLSBUaGUgbG9nIGxldmVsXG4gICAqIEBwYXJhbSB7U3RyaW5nTGlrZSB8IEVycm9yfSBtc2cgLSBUaGUgbWVzc2FnZSB0byBsb2dcbiAgICogQHBhcmFtIHtFcnJvcn0gW3N0YWNrXSAtIE9wdGlvbmFsIHN0YWNrIHRyYWNlIGZvciBlcnJvcnNcbiAgICogQHJldHVybiB7dm9pZH1cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBsb2coXG4gICAgbGV2ZWw6IExvZ0xldmVsLFxuICAgIG1zZzogU3RyaW5nTGlrZSB8IEVycm9yLFxuICAgIHN0YWNrPzogRXJyb3JcbiAgKSB7XG4gICAgaWYgKFxuICAgICAgTnVtZXJpY0xvZ0xldmVsc1t0aGlzLmNvbmZpZyhcImxldmVsXCIpIGFzIExvZ0xldmVsXSA8XG4gICAgICBOdW1lcmljTG9nTGV2ZWxzW2xldmVsXVxuICAgIClcbiAgICAgIHJldHVybjtcblxuICAgIGxldCBtZXRob2Q7XG4gICAgc3dpdGNoIChsZXZlbCkge1xuICAgICAgY2FzZSBMb2dMZXZlbC5iZW5jaG1hcms6XG4gICAgICAgIG1ldGhvZCA9IHRoaXMubG9nZ2VyLnZlcmJvc2U7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBMb2dMZXZlbC5pbmZvOlxuICAgICAgICBtZXRob2QgPSB0aGlzLmxvZ2dlci5pbmZvO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgTG9nTGV2ZWwudmVyYm9zZTpcbiAgICAgICAgbWV0aG9kID0gdGhpcy5sb2dnZXIudmVyYm9zZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIExvZ0xldmVsLmRlYnVnOlxuICAgICAgICBtZXRob2QgPSB0aGlzLmxvZ2dlci5kZWJ1ZztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIExvZ0xldmVsLmVycm9yOlxuICAgICAgICBtZXRob2QgPSB0aGlzLmxvZ2dlci5lcnJvcjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIExvZ0xldmVsLnRyYWNlOlxuICAgICAgICBtZXRob2QgPSB0aGlzLmxvZ2dlci50cmFjZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIExvZ0xldmVsLndhcm46XG4gICAgICAgIG1ldGhvZCA9IHRoaXMubG9nZ2VyLndhcm47XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBMb2dMZXZlbC5zaWxseTpcbiAgICAgICAgbWV0aG9kID0gdGhpcy5sb2dnZXIuc2lsbHk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJJbnZhbGlkIGxvZyBsZXZlbFwiKTtcbiAgICB9XG4gICAgbWV0aG9kLmNhbGwodGhpcy5sb2dnZXIsIHRoaXMuY3JlYXRlTG9nKGxldmVsLCBtc2csIHN0YWNrKSk7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRmFjdG9yeSBmdW5jdGlvbiBmb3IgY3JlYXRpbmcgQ29udHJhY3RMb2dnZXIgaW5zdGFuY2VzXG4gKiBAc3VtbWFyeSBDcmVhdGVzIGEgbmV3IENvbnRyYWN0TG9nZ2VyIHdpdGggdGhlIGdpdmVuIGNvbnRleHQsIGNvbmZpZywgYW5kIEZhYnJpYyBjb250ZXh0XG4gKiBAcGFyYW0ge3N0cmluZ30gb2JqZWN0IC0gVGhlIGxvZ2dpbmcgY29udGV4dCBuYW1lXG4gKiBAcGFyYW0ge1BhcnRpYWw8TG9nZ2luZ0NvbmZpZz4gfCB1bmRlZmluZWR9IGNvbmZpZyAtIE9wdGlvbmFsIGxvZ2dpbmcgY29uZmlndXJhdGlvblxuICogQHBhcmFtIHtDdHh9IGN0eCAtIFRoZSBGYWJyaWMgY2hhaW5jb2RlIGNvbnRleHRcbiAqIEByZXR1cm4ge0NvbnRyYWN0TG9nZ2VyfSBBIG5ldyBDb250cmFjdExvZ2dlciBpbnN0YW5jZVxuICogQGZ1bmN0aW9uIGZhY3RvcnlcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZmFicmljLmNvbnRyYWN0c1xuICovXG5jb25zdCBmYWN0b3J5OiBMb2dnZXJGYWN0b3J5ID0gKFxuICBvYmplY3Q/OiBzdHJpbmcsXG4gIGNvbmZpZz86IFBhcnRpYWw8TG9nZ2luZ0NvbmZpZz4sXG4gIGN0eD86IEN0eFxuKSA9PiB7XG4gIHJldHVybiBuZXcgQ29udHJhY3RMb2dnZXIoXG4gICAgb2JqZWN0IHx8IENvbnRyYWN0TG9nZ2VyLm5hbWUsXG4gICAgY29uZmlnIHx8IHt9LFxuICAgIGN0eCBhcyBDdHhcbiAgKTtcbn07XG5cbi8vIFNldCB0aGUgZmFjdG9yeSBhcyB0aGUgZGVmYXVsdCBsb2dnZXIgZmFjdG9yeVxuTG9nZ2luZy5zZXRGYWN0b3J5KGZhY3RvcnkpO1xuIl19
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdHMvbG9nZ2luZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FRMkI7QUFHM0IsMkRBQXdEO0FBQ3hELHVFQUdxQztBQUVyQyxJQUFBLG9EQUFrQyxHQUFFLENBQUM7QUFFckM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkJHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsb0JBQVU7SUFXNUMsWUFDRSxPQUFlLEVBQ2YsSUFBd0MsRUFDeEMsR0FBUztRQUVULE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSw2Q0FBMkIsRUFBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDaEUsS0FBSyxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRWpDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxJQUFJLEdBQUc7Z0JBQ1YsSUFBSSxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztnQkFDdkMsT0FBTyxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztnQkFDMUMsS0FBSyxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztnQkFDMUMsS0FBSyxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztnQkFDMUMsS0FBSyxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztnQkFDMUMsSUFBSSxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztnQkFDeEMsS0FBSyxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUMzQyxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBZ0MsQ0FBQztZQUMxRSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FDbEIsZ0JBQWdCLEVBQUUsS0FBSyxJQUFJLGlCQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUNyRCxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ2dCLEdBQUcsQ0FDcEIsS0FBZSxFQUNmLEdBQXVCLEVBQ3ZCLEtBQWEsRUFDYixJQUFjO1FBRWQsSUFDRSwwQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBYSxDQUFDO1lBQ2xELDBCQUFnQixDQUFDLEtBQUssQ0FBQztZQUV2QixPQUFPO1FBRVQsSUFBSSxNQUFNLENBQUM7UUFDWCxRQUFRLEtBQUssRUFBRSxDQUFDO1lBQ2QsS0FBSyxrQkFBUSxDQUFDLFNBQVM7Z0JBQ3JCLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDM0IsTUFBTTtZQUNSLEtBQUssa0JBQVEsQ0FBQyxJQUFJO2dCQUNoQixNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ3hCLE1BQU07WUFDUixLQUFLLGtCQUFRLENBQUMsT0FBTztnQkFDbkIsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUMzQixNQUFNO1lBQ1IsS0FBSyxrQkFBUSxDQUFDLEtBQUs7Z0JBQ2pCLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDekIsTUFBTTtZQUNSLEtBQUssa0JBQVEsQ0FBQyxLQUFLO2dCQUNqQixNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQ3pCLE1BQU07WUFDUixLQUFLLGtCQUFRLENBQUMsS0FBSztnQkFDakIsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUN6QixNQUFNO1lBQ1IsS0FBSyxrQkFBUSxDQUFDLElBQUk7Z0JBQ2hCLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDeEIsTUFBTTtZQUNSLEtBQUssa0JBQVEsQ0FBQyxLQUFLO2dCQUNqQixNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQ3pCLE1BQU07WUFDUjtnQkFDRSxNQUFNLElBQUksNkJBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7Q0FDRjtBQXhGRCx3Q0F3RkM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLE9BQU8sR0FBa0IsQ0FDN0IsTUFBZSxFQUNmLE1BQStCLEVBQy9CLEdBQVMsRUFDVCxFQUFFO0lBQ0YsT0FBTyxJQUFJLGNBQWMsQ0FDdkIsTUFBTSxJQUFJLGNBQWMsQ0FBQyxJQUFJLEVBQzdCLE1BQU0sSUFBSSxFQUFFLEVBQ1osR0FBVSxDQUNYLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixnREFBZ0Q7QUFDaEQsaUJBQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBMb2dnZXJGYWN0b3J5LFxuICBMb2dnaW5nLFxuICBMb2dMZXZlbCxcbiAgTG9nTWV0YSxcbiAgTWluaUxvZ2dlcixcbiAgTnVtZXJpY0xvZ0xldmVscyxcbiAgU3RyaW5nTGlrZSxcbn0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5pbXBvcnQgeyBMb2dnaW5nQ29uZmlnIH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIEN0eCB9IGZyb20gXCJmYWJyaWMtY29udHJhY3QtYXBpXCI7XG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQge1xuICBlbnJpY2hDb250cmFjdExvZ2dpbmdDb25maWcsXG4gIGVuc3VyZUNvbnRyYWN0TG9nRmllbGRSZWdpc3RyYXRpb24sXG59IGZyb20gXCIuLi9jb250cmFjdC9sb2dnaW5nLWNvbnRleHRcIjtcblxuZW5zdXJlQ29udHJhY3RMb2dGaWVsZFJlZ2lzdHJhdGlvbigpO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBMb2dnZXIgaW1wbGVtZW50YXRpb24gZm9yIEZhYnJpYyBjaGFpbmNvZGUgY29udHJhY3RzXG4gKiBAc3VtbWFyeSBBZGFwdHMgdGhlIHN0YW5kYXJkIGxvZ2dpbmcgaW50ZXJmYWNlIHRvIHdvcmsgd2l0aCBGYWJyaWMncyBjaGFpbmNvZGUgY29udGV4dFxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBjb250ZXh0IC0gVGhlIGxvZ2dpbmcgY29udGV4dCBuYW1lXG4gKiBAcGFyYW0ge1BhcnRpYWw8TG9nZ2luZ0NvbmZpZz4gfCB1bmRlZmluZWR9IGNvbmYgLSBPcHRpb25hbCBsb2dnaW5nIGNvbmZpZ3VyYXRpb25cbiAqIEBwYXJhbSB7Q3R4fSBjdHggLSBUaGUgRmFicmljIGNoYWluY29kZSBjb250ZXh0XG4gKlxuICogQGNsYXNzIENvbnRyYWN0TG9nZ2VyXG4gKiBAZXh0ZW5kcyB7TWluaUxvZ2dlcn1cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBJbiBhIEZhYnJpYyBjaGFpbmNvZGUgY29udHJhY3RcbiAqIGltcG9ydCB7IENvbnRyYWN0TG9nZ2VyIH0gZnJvbSAnQGRlY2FmLXRzL2Zvci1mYWJyaWMnO1xuICpcbiAqIGV4cG9ydCBjbGFzcyBNeUNvbnRyYWN0IGV4dGVuZHMgQ29udHJhY3Qge1xuICogICBAVHJhbnNhY3Rpb24oKVxuICogICBhc3luYyBteUZ1bmN0aW9uKGN0eDogQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICogICAgIGNvbnN0IGxvZ2dlciA9IG5ldyBDb250cmFjdExvZ2dlcignTXlDb250cmFjdCcsIHsgbGV2ZWw6ICdpbmZvJyB9LCBjdHgpO1xuICpcbiAqICAgICBsb2dnZXIuaW5mbygnUHJvY2Vzc2luZyB0cmFuc2FjdGlvbicpO1xuICogICAgIGxvZ2dlci5kZWJ1ZygnVHJhbnNhY3Rpb24gZGV0YWlsczonLCB7IC4uLiB9KTtcbiAqXG4gKiAgICAgLy8gRG8gc29tZXRoaW5nXG4gKlxuICogICAgIGxvZ2dlci5pbmZvKCdUcmFuc2FjdGlvbiBjb21wbGV0ZScpO1xuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIENvbnRyYWN0TG9nZ2VyIGV4dGVuZHMgTWluaUxvZ2dlciB7XG4gIHByb3RlY3RlZCBzaW5rIToge1xuICAgIHZlcmJvc2U6IChtc2c6IHN0cmluZykgPT4gdm9pZDtcbiAgICBpbmZvOiAobXNnOiBzdHJpbmcpID0+IHZvaWQ7XG4gICAgZGVidWc6IChtc2c6IHN0cmluZykgPT4gdm9pZDtcbiAgICBlcnJvcjogKG1zZzogc3RyaW5nKSA9PiB2b2lkO1xuICAgIHRyYWNlOiAobXNnOiBzdHJpbmcpID0+IHZvaWQ7XG4gICAgd2FybjogKG1zZzogc3RyaW5nKSA9PiB2b2lkO1xuICAgIHNpbGx5OiAobXNnOiBzdHJpbmcpID0+IHZvaWQ7XG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY29udGV4dDogc3RyaW5nLFxuICAgIGNvbmY6IFBhcnRpYWw8TG9nZ2luZ0NvbmZpZz4gfCB1bmRlZmluZWQsXG4gICAgY3R4PzogQ3R4XG4gICkge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRDb25maWcgPSBlbnJpY2hDb250cmFjdExvZ2dpbmdDb25maWcoY29uZiwgY3R4KTtcbiAgICBzdXBlcihjb250ZXh0LCBub3JtYWxpemVkQ29uZmlnKTtcblxuICAgIGlmICghY3R4KSB7XG4gICAgICB0aGlzLnNpbmsgPSB7XG4gICAgICAgIGluZm86IChtc2c6IHN0cmluZykgPT4gY29uc29sZS5sb2cobXNnKSxcbiAgICAgICAgdmVyYm9zZTogKG1zZzogc3RyaW5nKSA9PiBjb25zb2xlLmxvZyhtc2cpLFxuICAgICAgICBkZWJ1ZzogKG1zZzogc3RyaW5nKSA9PiBjb25zb2xlLmRlYnVnKG1zZyksXG4gICAgICAgIGVycm9yOiAobXNnOiBzdHJpbmcpID0+IGNvbnNvbGUuZXJyb3IobXNnKSxcbiAgICAgICAgdHJhY2U6IChtc2c6IHN0cmluZykgPT4gY29uc29sZS50cmFjZShtc2cpLFxuICAgICAgICB3YXJuOiAobXNnOiBzdHJpbmcpID0+IGNvbnNvbGUud2Fybihtc2cpLFxuICAgICAgICBzaWxseTogKG1zZzogc3RyaW5nKSA9PiBjb25zb2xlLmRlYnVnKG1zZyksXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNpbmsgPSBjdHgubG9nZ2luZy5nZXRMb2dnZXIoY29udGV4dCkgYXMgdW5rbm93biBhcyB0eXBlb2YgdGhpcy5zaW5rO1xuICAgICAgY3R4LmxvZ2dpbmcuc2V0TGV2ZWwoXG4gICAgICAgIG5vcm1hbGl6ZWRDb25maWc/LmxldmVsIHx8IExvZ2dpbmcuZ2V0Q29uZmlnKCkubGV2ZWxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBMb2dzIGEgbWVzc2FnZSBhdCB0aGUgc3BlY2lmaWVkIGxldmVsXG4gICAqIEBzdW1tYXJ5IE92ZXJyaWRlcyB0aGUgYmFzZSBsb2cgbWV0aG9kIHRvIHVzZSB0aGUgRmFicmljIGNvbnRleHQncyBsb2dnZXJcbiAgICogQHBhcmFtIHtMb2dMZXZlbH0gbGV2ZWwgLSBUaGUgbG9nIGxldmVsXG4gICAqIEBwYXJhbSB7U3RyaW5nTGlrZSB8IEVycm9yfSBtc2cgLSBUaGUgbWVzc2FnZSB0byBsb2dcbiAgICogQHBhcmFtIHtFcnJvcn0gW3N0YWNrXSAtIE9wdGlvbmFsIHN0YWNrIHRyYWNlIGZvciBlcnJvcnNcbiAgICogQHJldHVybiB7dm9pZH1cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBsb2coXG4gICAgbGV2ZWw6IExvZ0xldmVsLFxuICAgIG1zZzogU3RyaW5nTGlrZSB8IEVycm9yLFxuICAgIGVycm9yPzogRXJyb3IsXG4gICAgbWV0YT86IExvZ01ldGFcbiAgKSB7XG4gICAgaWYgKFxuICAgICAgTnVtZXJpY0xvZ0xldmVsc1t0aGlzLmNvbmZpZyhcImxldmVsXCIpIGFzIExvZ0xldmVsXSA8XG4gICAgICBOdW1lcmljTG9nTGV2ZWxzW2xldmVsXVxuICAgIClcbiAgICAgIHJldHVybjtcblxuICAgIGxldCBtZXRob2Q7XG4gICAgc3dpdGNoIChsZXZlbCkge1xuICAgICAgY2FzZSBMb2dMZXZlbC5iZW5jaG1hcms6XG4gICAgICAgIG1ldGhvZCA9IHRoaXMuc2luay52ZXJib3NlO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgTG9nTGV2ZWwuaW5mbzpcbiAgICAgICAgbWV0aG9kID0gdGhpcy5zaW5rLmluZm87XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBMb2dMZXZlbC52ZXJib3NlOlxuICAgICAgICBtZXRob2QgPSB0aGlzLnNpbmsudmVyYm9zZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIExvZ0xldmVsLmRlYnVnOlxuICAgICAgICBtZXRob2QgPSB0aGlzLnNpbmsuZGVidWc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBMb2dMZXZlbC5lcnJvcjpcbiAgICAgICAgbWV0aG9kID0gdGhpcy5zaW5rLmVycm9yO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgTG9nTGV2ZWwudHJhY2U6XG4gICAgICAgIG1ldGhvZCA9IHRoaXMuc2luay50cmFjZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIExvZ0xldmVsLndhcm46XG4gICAgICAgIG1ldGhvZCA9IHRoaXMuc2luay53YXJuO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgTG9nTGV2ZWwuc2lsbHk6XG4gICAgICAgIG1ldGhvZCA9IHRoaXMuc2luay5zaWxseTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIkludmFsaWQgbG9nIGxldmVsXCIpO1xuICAgIH1cbiAgICBtZXRob2QuY2FsbCh0aGlzLnNpbmssIHRoaXMuY3JlYXRlTG9nKGxldmVsLCBtc2csIGVycm9yLCBtZXRhKSk7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRmFjdG9yeSBmdW5jdGlvbiBmb3IgY3JlYXRpbmcgQ29udHJhY3RMb2dnZXIgaW5zdGFuY2VzXG4gKiBAc3VtbWFyeSBDcmVhdGVzIGEgbmV3IENvbnRyYWN0TG9nZ2VyIHdpdGggdGhlIGdpdmVuIGNvbnRleHQsIGNvbmZpZywgYW5kIEZhYnJpYyBjb250ZXh0XG4gKiBAcGFyYW0ge3N0cmluZ30gb2JqZWN0IC0gVGhlIGxvZ2dpbmcgY29udGV4dCBuYW1lXG4gKiBAcGFyYW0ge1BhcnRpYWw8TG9nZ2luZ0NvbmZpZz4gfCB1bmRlZmluZWR9IGNvbmZpZyAtIE9wdGlvbmFsIGxvZ2dpbmcgY29uZmlndXJhdGlvblxuICogQHBhcmFtIHtDdHh9IGN0eCAtIFRoZSBGYWJyaWMgY2hhaW5jb2RlIGNvbnRleHRcbiAqIEByZXR1cm4ge0NvbnRyYWN0TG9nZ2VyfSBBIG5ldyBDb250cmFjdExvZ2dlciBpbnN0YW5jZVxuICogQGZ1bmN0aW9uIGZhY3RvcnlcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZmFicmljLmNvbnRyYWN0c1xuICovXG5jb25zdCBmYWN0b3J5OiBMb2dnZXJGYWN0b3J5ID0gKFxuICBvYmplY3Q/OiBzdHJpbmcsXG4gIGNvbmZpZz86IFBhcnRpYWw8TG9nZ2luZ0NvbmZpZz4sXG4gIGN0eD86IEN0eFxuKSA9PiB7XG4gIHJldHVybiBuZXcgQ29udHJhY3RMb2dnZXIoXG4gICAgb2JqZWN0IHx8IENvbnRyYWN0TG9nZ2VyLm5hbWUsXG4gICAgY29uZmlnIHx8IHt9LFxuICAgIGN0eCBhcyBDdHhcbiAgKTtcbn07XG5cbi8vIFNldCB0aGUgZmFjdG9yeSBhcyB0aGUgZGVmYXVsdCBsb2dnZXIgZmFjdG9yeVxuTG9nZ2luZy5zZXRGYWN0b3J5KGZhY3RvcnkpO1xuIl19
@@ -1,4 +1,4 @@
1
- import { Logger, LogLevel, MiniLogger, StringLike } from "@decaf-ts/logging";
1
+ import { LogLevel, LogMeta, MiniLogger, StringLike } from "@decaf-ts/logging";
2
2
  import { LoggingConfig } from "@decaf-ts/logging";
3
3
  import { Context as Ctx } from "fabric-contract-api";
4
4
  /**
@@ -32,10 +32,15 @@ import { Context as Ctx } from "fabric-contract-api";
32
32
  * ```
33
33
  */
34
34
  export declare class ContractLogger extends MiniLogger {
35
- /**
36
- * @description The underlying Fabric logger instance
37
- */
38
- protected logger: Logger;
35
+ protected sink: {
36
+ verbose: (msg: string) => void;
37
+ info: (msg: string) => void;
38
+ debug: (msg: string) => void;
39
+ error: (msg: string) => void;
40
+ trace: (msg: string) => void;
41
+ warn: (msg: string) => void;
42
+ silly: (msg: string) => void;
43
+ };
39
44
  constructor(context: string, conf: Partial<LoggingConfig> | undefined, ctx?: Ctx);
40
45
  /**
41
46
  * @description Logs a message at the specified level
@@ -45,5 +50,5 @@ export declare class ContractLogger extends MiniLogger {
45
50
  * @param {Error} [stack] - Optional stack trace for errors
46
51
  * @return {void}
47
52
  */
48
- protected log(level: LogLevel, msg: StringLike | Error, stack?: Error): void;
53
+ protected log(level: LogLevel, msg: StringLike | Error, error?: Error, meta?: LogMeta): void;
49
54
  }
@@ -0,0 +1,8 @@
1
+ import { LoggingConfig } from "@decaf-ts/logging";
2
+ import { Context as Ctx } from "fabric-contract-api";
3
+ export declare function ensureContractLogFieldRegistration(): void;
4
+ export declare function enrichContractLoggingConfig(conf: Partial<LoggingConfig> | undefined, ctx?: Ctx): (Partial<LoggingConfig> & {
5
+ user?: string;
6
+ }) | undefined;
7
+ export declare function extractUserFromIdentity(id?: string): string | undefined;
8
+ export declare function trimCorrelationId(id?: string): string | undefined;
@@ -0,0 +1,71 @@
1
+ import { Logging } from "@decaf-ts/logging";
2
+ let userFieldRegistered = false;
3
+ export function ensureContractLogFieldRegistration() {
4
+ if (userFieldRegistered)
5
+ return;
6
+ userFieldRegistered = true;
7
+ Logging.register({
8
+ key: "correlationId",
9
+ shouldInclude(payload) {
10
+ const value = payload?.correlationId ?? payload?.config?.correlationId;
11
+ return Boolean(value);
12
+ },
13
+ render(payload) {
14
+ const value = payload?.correlationId ?? payload?.config?.correlationId;
15
+ return value === undefined || value === null
16
+ ? undefined
17
+ : `, correlationId: ${String(value)}`;
18
+ },
19
+ style(rendered, payload) {
20
+ return payload.applyTheme(rendered, "id");
21
+ },
22
+ });
23
+ Logging.register({
24
+ key: "user",
25
+ shouldInclude(payload) {
26
+ const value = payload?.user ?? payload?.config?.user;
27
+ return Boolean(value);
28
+ },
29
+ render(payload) {
30
+ const value = payload?.user ?? payload?.config?.user;
31
+ return value === undefined || value === null
32
+ ? undefined
33
+ : `, user: ${String(value)}`;
34
+ },
35
+ style(rendered, payload) {
36
+ return payload.applyTheme(rendered, "id");
37
+ },
38
+ });
39
+ }
40
+ export function enrichContractLoggingConfig(conf, ctx) {
41
+ if (!ctx)
42
+ return conf;
43
+ const txId = ctx.stub?.getTxID?.();
44
+ const compactTxId = trimCorrelationId(txId);
45
+ const user = extractUserFromIdentity(ctx.clientIdentity?.getID?.());
46
+ const useDefaultFabricFormatting = !conf?.pattern;
47
+ return {
48
+ ...(conf || {}),
49
+ correlationId: conf?.correlationId || compactTxId,
50
+ user: conf?.user || user,
51
+ pattern: conf?.pattern || "{message}{user}{correlationId} {stack}",
52
+ logLevel: useDefaultFabricFormatting ? false : conf?.logLevel,
53
+ timestamp: useDefaultFabricFormatting ? false : conf?.timestamp,
54
+ context: useDefaultFabricFormatting ? false : conf?.context,
55
+ separator: useDefaultFabricFormatting ? "" : conf?.separator,
56
+ };
57
+ }
58
+ export function extractUserFromIdentity(id) {
59
+ if (!id)
60
+ return undefined;
61
+ const emailMatch = id.match(/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/);
62
+ return emailMatch?.[0];
63
+ }
64
+ export function trimCorrelationId(id) {
65
+ if (!id)
66
+ return undefined;
67
+ if (id.length <= 10)
68
+ return id;
69
+ return `${id.slice(0, 5)}-${id.slice(-5)}`;
70
+ }
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0L2xvZ2dpbmctY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFpQixNQUFNLG1CQUFtQixDQUFDO0FBRzNELElBQUksbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0FBRWhDLE1BQU0sVUFBVSxrQ0FBa0M7SUFDaEQsSUFBSSxtQkFBbUI7UUFBRSxPQUFPO0lBQ2hDLG1CQUFtQixHQUFHLElBQUksQ0FBQztJQUMzQixPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2YsR0FBRyxFQUFFLGVBQWU7UUFDcEIsYUFBYSxDQUFDLE9BQVk7WUFDeEIsTUFBTSxLQUFLLEdBQUcsT0FBTyxFQUFFLGFBQWEsSUFBSSxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsQ0FBQztZQUN2RSxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixDQUFDO1FBQ0QsTUFBTSxDQUFDLE9BQVk7WUFDakIsTUFBTSxLQUFLLEdBQUcsT0FBTyxFQUFFLGFBQWEsSUFBSSxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsQ0FBQztZQUN2RSxPQUFPLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUk7Z0JBQzFDLENBQUMsQ0FBQyxTQUFTO2dCQUNYLENBQUMsQ0FBQyxvQkFBb0IsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDMUMsQ0FBQztRQUNELEtBQUssQ0FBQyxRQUFnQixFQUFFLE9BQVk7WUFDbEMsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1QyxDQUFDO0tBQ0ssQ0FBQyxDQUFDO0lBQ1YsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNmLEdBQUcsRUFBRSxNQUFNO1FBQ1gsYUFBYSxDQUFDLE9BQVk7WUFDeEIsTUFBTSxLQUFLLEdBQUcsT0FBTyxFQUFFLElBQUksSUFBSSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQztZQUNyRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixDQUFDO1FBQ0QsTUFBTSxDQUFDLE9BQVk7WUFDakIsTUFBTSxLQUFLLEdBQUcsT0FBTyxFQUFFLElBQUksSUFBSSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQztZQUNyRCxPQUFPLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUk7Z0JBQzFDLENBQUMsQ0FBQyxTQUFTO2dCQUNYLENBQUMsQ0FBQyxXQUFXLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2pDLENBQUM7UUFDRCxLQUFLLENBQUMsUUFBZ0IsRUFBRSxPQUFZO1lBQ2xDLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUMsQ0FBQztLQUNLLENBQUMsQ0FBQztBQUNaLENBQUM7QUFFRCxNQUFNLFVBQVUsMkJBQTJCLENBQ3pDLElBQXdDLEVBQ3hDLEdBQVM7SUFFVCxJQUFJLENBQUMsR0FBRztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQ3RCLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztJQUNuQyxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxNQUFNLElBQUksR0FBRyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRSxNQUFNLDBCQUEwQixHQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQztJQUNsRCxPQUFPO1FBQ0wsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDZixhQUFhLEVBQUUsSUFBSSxFQUFFLGFBQWEsSUFBSSxXQUFXO1FBQ2pELElBQUksRUFBRyxJQUFZLEVBQUUsSUFBSSxJQUFJLElBQUk7UUFDakMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLElBQUksd0NBQXdDO1FBQ2xFLFFBQVEsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsUUFBUTtRQUM3RCxTQUFTLEVBQUUsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFNBQVM7UUFDL0QsT0FBTyxFQUFFLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxPQUFPO1FBQzNELFNBQVMsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsU0FBUztLQUM3RCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxFQUFXO0lBQ2pELElBQUksQ0FBQyxFQUFFO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFDMUIsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FDekIsZ0RBQWdELENBQ2pELENBQUM7SUFDRixPQUFPLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pCLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsRUFBVztJQUMzQyxJQUFJLENBQUMsRUFBRTtRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQzFCLElBQUksRUFBRSxDQUFDLE1BQU0sSUFBSSxFQUFFO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDL0IsT0FBTyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2dnaW5nLCBMb2dnaW5nQ29uZmlnIH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIEN0eCB9IGZyb20gXCJmYWJyaWMtY29udHJhY3QtYXBpXCI7XG5cbmxldCB1c2VyRmllbGRSZWdpc3RlcmVkID0gZmFsc2U7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVDb250cmFjdExvZ0ZpZWxkUmVnaXN0cmF0aW9uKCkge1xuICBpZiAodXNlckZpZWxkUmVnaXN0ZXJlZCkgcmV0dXJuO1xuICB1c2VyRmllbGRSZWdpc3RlcmVkID0gdHJ1ZTtcbiAgTG9nZ2luZy5yZWdpc3Rlcih7XG4gICAga2V5OiBcImNvcnJlbGF0aW9uSWRcIixcbiAgICBzaG91bGRJbmNsdWRlKHBheWxvYWQ6IGFueSkge1xuICAgICAgY29uc3QgdmFsdWUgPSBwYXlsb2FkPy5jb3JyZWxhdGlvbklkID8/IHBheWxvYWQ/LmNvbmZpZz8uY29ycmVsYXRpb25JZDtcbiAgICAgIHJldHVybiBCb29sZWFuKHZhbHVlKTtcbiAgICB9LFxuICAgIHJlbmRlcihwYXlsb2FkOiBhbnkpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gcGF5bG9hZD8uY29ycmVsYXRpb25JZCA/PyBwYXlsb2FkPy5jb25maWc/LmNvcnJlbGF0aW9uSWQ7XG4gICAgICByZXR1cm4gdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbFxuICAgICAgICA/IHVuZGVmaW5lZFxuICAgICAgICA6IGAsIGNvcnJlbGF0aW9uSWQ6ICR7U3RyaW5nKHZhbHVlKX1gO1xuICAgIH0sXG4gICAgc3R5bGUocmVuZGVyZWQ6IHN0cmluZywgcGF5bG9hZDogYW55KSB7XG4gICAgICByZXR1cm4gcGF5bG9hZC5hcHBseVRoZW1lKHJlbmRlcmVkLCBcImlkXCIpO1xuICAgIH0sXG4gIH0gYXMgYW55KTtcbiAgTG9nZ2luZy5yZWdpc3Rlcih7XG4gICAga2V5OiBcInVzZXJcIixcbiAgICBzaG91bGRJbmNsdWRlKHBheWxvYWQ6IGFueSkge1xuICAgICAgY29uc3QgdmFsdWUgPSBwYXlsb2FkPy51c2VyID8/IHBheWxvYWQ/LmNvbmZpZz8udXNlcjtcbiAgICAgIHJldHVybiBCb29sZWFuKHZhbHVlKTtcbiAgICB9LFxuICAgIHJlbmRlcihwYXlsb2FkOiBhbnkpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gcGF5bG9hZD8udXNlciA/PyBwYXlsb2FkPy5jb25maWc/LnVzZXI7XG4gICAgICByZXR1cm4gdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbFxuICAgICAgICA/IHVuZGVmaW5lZFxuICAgICAgICA6IGAsIHVzZXI6ICR7U3RyaW5nKHZhbHVlKX1gO1xuICAgIH0sXG4gICAgc3R5bGUocmVuZGVyZWQ6IHN0cmluZywgcGF5bG9hZDogYW55KSB7XG4gICAgICByZXR1cm4gcGF5bG9hZC5hcHBseVRoZW1lKHJlbmRlcmVkLCBcImlkXCIpO1xuICAgIH0sXG4gIH0gYXMgYW55KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVucmljaENvbnRyYWN0TG9nZ2luZ0NvbmZpZyhcbiAgY29uZjogUGFydGlhbDxMb2dnaW5nQ29uZmlnPiB8IHVuZGVmaW5lZCxcbiAgY3R4PzogQ3R4XG4pOiAoUGFydGlhbDxMb2dnaW5nQ29uZmlnPiAmIHsgdXNlcj86IHN0cmluZyB9KSB8IHVuZGVmaW5lZCB7XG4gIGlmICghY3R4KSByZXR1cm4gY29uZjtcbiAgY29uc3QgdHhJZCA9IGN0eC5zdHViPy5nZXRUeElEPy4oKTtcbiAgY29uc3QgY29tcGFjdFR4SWQgPSB0cmltQ29ycmVsYXRpb25JZCh0eElkKTtcbiAgY29uc3QgdXNlciA9IGV4dHJhY3RVc2VyRnJvbUlkZW50aXR5KGN0eC5jbGllbnRJZGVudGl0eT8uZ2V0SUQ/LigpKTtcbiAgY29uc3QgdXNlRGVmYXVsdEZhYnJpY0Zvcm1hdHRpbmcgPSAhY29uZj8ucGF0dGVybjtcbiAgcmV0dXJuIHtcbiAgICAuLi4oY29uZiB8fCB7fSksXG4gICAgY29ycmVsYXRpb25JZDogY29uZj8uY29ycmVsYXRpb25JZCB8fCBjb21wYWN0VHhJZCxcbiAgICB1c2VyOiAoY29uZiBhcyBhbnkpPy51c2VyIHx8IHVzZXIsXG4gICAgcGF0dGVybjogY29uZj8ucGF0dGVybiB8fCBcInttZXNzYWdlfXt1c2VyfXtjb3JyZWxhdGlvbklkfSB7c3RhY2t9XCIsXG4gICAgbG9nTGV2ZWw6IHVzZURlZmF1bHRGYWJyaWNGb3JtYXR0aW5nID8gZmFsc2UgOiBjb25mPy5sb2dMZXZlbCxcbiAgICB0aW1lc3RhbXA6IHVzZURlZmF1bHRGYWJyaWNGb3JtYXR0aW5nID8gZmFsc2UgOiBjb25mPy50aW1lc3RhbXAsXG4gICAgY29udGV4dDogdXNlRGVmYXVsdEZhYnJpY0Zvcm1hdHRpbmcgPyBmYWxzZSA6IGNvbmY/LmNvbnRleHQsXG4gICAgc2VwYXJhdG9yOiB1c2VEZWZhdWx0RmFicmljRm9ybWF0dGluZyA/IFwiXCIgOiBjb25mPy5zZXBhcmF0b3IsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0VXNlckZyb21JZGVudGl0eShpZD86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICghaWQpIHJldHVybiB1bmRlZmluZWQ7XG4gIGNvbnN0IGVtYWlsTWF0Y2ggPSBpZC5tYXRjaChcbiAgICAvW0EtWmEtejAtOS5fJSstXStAW0EtWmEtejAtOS4tXStcXC5bQS1aYS16XXsyLH0vXG4gICk7XG4gIHJldHVybiBlbWFpbE1hdGNoPy5bMF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmltQ29ycmVsYXRpb25JZChpZD86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICghaWQpIHJldHVybiB1bmRlZmluZWQ7XG4gIGlmIChpZC5sZW5ndGggPD0gMTApIHJldHVybiBpZDtcbiAgcmV0dXJuIGAke2lkLnNsaWNlKDAsIDUpfS0ke2lkLnNsaWNlKC01KX1gO1xufVxuIl19