@ncoderz/log-m8 1.2.2 → 1.2.4

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.
package/dist/index.cjs CHANGED
@@ -25,6 +25,7 @@ __export(index_exports, {
25
25
  LogLevel: () => LogLevel,
26
26
  LogM8: () => LogM82,
27
27
  LogM8Utils: () => LogM8Utils,
28
+ NullLogger: () => NullLogger,
28
29
  PluginKind: () => PluginKind
29
30
  });
30
31
  module.exports = __toCommonJS(index_exports);
@@ -593,20 +594,34 @@ var FileAppender = class {
593
594
  __publicField(this, "_formatter");
594
595
  __publicField(this, "_filters", []);
595
596
  __publicField(this, "_stream");
597
+ __publicField(this, "_streamCreationFailed", false);
596
598
  }
597
599
  init(config, formatter, filters) {
598
600
  this._config = config;
599
601
  this._formatter = formatter;
600
602
  this._filters = filters || [];
601
- const flags = this._config.append ? "a" : "w";
602
- this._stream = (0, import_fs.createWriteStream)(this._config.filename ?? DEFAULT_FILENAME, { flags });
603
603
  this.enabled = this._config?.enabled !== false;
604
604
  this.priority = this._config?.priority;
605
+ if (this.enabled) {
606
+ this._createStream();
607
+ }
605
608
  }
606
609
  dispose() {
607
610
  this._stream?.end();
611
+ this._stream = void 0;
608
612
  }
609
613
  write(event) {
614
+ if (this._streamCreationFailed) return;
615
+ if (!this._stream) {
616
+ try {
617
+ this._createStream();
618
+ } catch (err) {
619
+ if (console && console.error) {
620
+ console.error(`LogM8 [FileAppender]: Failed to create file stream: ${err}`);
621
+ }
622
+ this._streamCreationFailed = true;
623
+ }
624
+ }
610
625
  if (!this._stream) return;
611
626
  for (const filter of this._filters) {
612
627
  if (filter.enabled && !filter.filter(event)) {
@@ -635,6 +650,10 @@ var FileAppender = class {
635
650
  _getFilter(name) {
636
651
  return this._filters.find((f) => f.name === name);
637
652
  }
653
+ _createStream() {
654
+ const flags = this._config?.append ? "a" : "w";
655
+ this._stream = (0, import_fs.createWriteStream)(this._config?.filename ?? DEFAULT_FILENAME, { flags });
656
+ }
638
657
  };
639
658
  var FileAppenderFactory = class {
640
659
  constructor() {
@@ -1135,12 +1154,11 @@ var LogM8 = class {
1135
1154
  init(config) {
1136
1155
  config = Object.assign({}, config);
1137
1156
  this._reset();
1138
- const levelStr = (config.level ?? "").trim().toLowerCase();
1139
- this._globalLogLevel = this._logLevelSet.has(levelStr) ? levelStr : LogLevel.info;
1157
+ this.setLevel(config.level ?? LogLevel.info);
1140
1158
  for (const [name, l] of Object.entries(config.loggers ?? {})) {
1141
- const levelStr2 = (l ?? "").trim().toLowerCase();
1159
+ const levelStr = (l ?? "").trim().toLowerCase();
1142
1160
  const logger = this.getLogger(name);
1143
- const level = this._logLevelSet.has(levelStr2) ? levelStr2 : this._globalLogLevel;
1161
+ const level = this._logLevelSet.has(levelStr) ? levelStr : this._globalLogLevel;
1144
1162
  logger.setLevel(level);
1145
1163
  }
1146
1164
  const appenderConfigs = config.appenders ?? DEFAULT_APPENDERS;
@@ -1272,10 +1290,11 @@ var LogM8 = class {
1272
1290
  * @param logger - Optional logger name to set level for a specific logger
1273
1291
  */
1274
1292
  setLevel(level, logger) {
1293
+ const levelStr = (level ?? "").trim().toLowerCase();
1275
1294
  if (logger) {
1276
- this.getLogger(logger).setLevel(level);
1295
+ this.getLogger(logger).setLevel(levelStr);
1277
1296
  } else {
1278
- this._globalLogLevel = this._logLevelSet.has(level) ? level : this._globalLogLevel;
1297
+ this._globalLogLevel = this._logLevelSet.has(levelStr) ? levelStr : this._globalLogLevel;
1279
1298
  this._globalLogLevelNumber = this._logLevelValues.indexOf(this._globalLogLevel);
1280
1299
  }
1281
1300
  }
@@ -1434,8 +1453,9 @@ var LogM8 = class {
1434
1453
  }
1435
1454
  }
1436
1455
  _setLevel(logger, level) {
1437
- logger.level = this._logLevelSet.has(level) ? level : logger.level;
1438
- logger._levelNumber = this._logLevelValues.indexOf(level);
1456
+ const levelStr = (level ?? "").trim().toLowerCase();
1457
+ logger.level = this._logLevelSet.has(levelStr) ? levelStr : logger.level;
1458
+ logger._levelNumber = this._logLevelValues.indexOf(logger.level);
1439
1459
  logger.isEnabled = logger.level !== LogLevel.off;
1440
1460
  const levelNumber = logger._levelNumber;
1441
1461
  logger.isFatal = this._logLevelValues.indexOf(LogLevel.fatal) <= levelNumber;
@@ -1489,6 +1509,45 @@ var LogM8 = class {
1489
1509
  }
1490
1510
  };
1491
1511
 
1512
+ // src/NullLogger.ts
1513
+ var NullLogger = class {
1514
+ constructor() {
1515
+ __publicField(this, "isFatal", false);
1516
+ __publicField(this, "isError", false);
1517
+ __publicField(this, "isWarn", false);
1518
+ __publicField(this, "isInfo", false);
1519
+ __publicField(this, "isDebug", false);
1520
+ __publicField(this, "isTrack", false);
1521
+ __publicField(this, "isTrace", false);
1522
+ __publicField(this, "isEnabled", false);
1523
+ __publicField(this, "name", "nullLogger");
1524
+ __publicField(this, "level", "off");
1525
+ __publicField(this, "context", {});
1526
+ }
1527
+ fatal(_message, ..._args) {
1528
+ }
1529
+ error(_message, ..._args) {
1530
+ }
1531
+ warn(_message, ..._args) {
1532
+ }
1533
+ info(_message, ..._args) {
1534
+ }
1535
+ debug(_message, ..._args) {
1536
+ }
1537
+ track(_message, ..._args) {
1538
+ }
1539
+ trace(_message, ..._args) {
1540
+ }
1541
+ setLevel(_level) {
1542
+ }
1543
+ setContext(context) {
1544
+ this.context = context;
1545
+ }
1546
+ getLogger(_name) {
1547
+ return this;
1548
+ }
1549
+ };
1550
+
1492
1551
  // src/index.ts
1493
1552
  var LogM82 = new LogM8();
1494
1553
  // Annotate the CommonJS export names for ESM import in node:
@@ -1496,6 +1555,7 @@ var LogM82 = new LogM8();
1496
1555
  LogLevel,
1497
1556
  LogM8,
1498
1557
  LogM8Utils,
1558
+ NullLogger,
1499
1559
  PluginKind
1500
1560
  });
1501
1561
  //# sourceMappingURL=index.cjs.map