@ncoderz/log-m8 1.0.2 → 1.1.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.
package/dist/index.js CHANGED
@@ -1000,16 +1000,27 @@ var DEFAULT_APPENDERS = [
1000
1000
  ];
1001
1001
  var LogM8 = class {
1002
1002
  constructor() {
1003
- __publicField(this, "_initialized", false);
1004
- __publicField(this, "_pluginManager", new PluginManager());
1005
- __publicField(this, "_loggers", /* @__PURE__ */ new Map());
1006
- __publicField(this, "_appenders", []);
1003
+ __publicField(this, "_initialized");
1004
+ __publicField(this, "_pluginManager");
1005
+ __publicField(this, "_loggers");
1006
+ __publicField(this, "_appenders");
1007
1007
  __publicField(this, "_filters", []);
1008
- __publicField(this, "_defaultLevel", LogLevel.info);
1009
- __publicField(this, "_logLevelValues", Object.values(LogLevel));
1010
- __publicField(this, "_logLevelSet", new Set(this._logLevelValues));
1008
+ __publicField(this, "_globalLogLevel");
1009
+ __publicField(this, "_globalLogLevelNumber");
1010
+ __publicField(this, "_logLevelValues");
1011
+ __publicField(this, "_logLevelSet");
1011
1012
  // Buffer for log events before the system is initialized
1012
- __publicField(this, "_logBuffer", []);
1013
+ __publicField(this, "_logBuffer");
1014
+ this._initialized = false;
1015
+ this._pluginManager = new PluginManager();
1016
+ this._loggers = /* @__PURE__ */ new Map();
1017
+ this._appenders = [];
1018
+ this._filters = [];
1019
+ this._logLevelValues = Object.values(LogLevel);
1020
+ this._logLevelSet = new Set(this._logLevelValues);
1021
+ this._globalLogLevel = LogLevel.info;
1022
+ this._globalLogLevelNumber = this._logLevelValues.indexOf(LogLevel.info);
1023
+ this._logBuffer = [];
1013
1024
  this._pluginManager.registerPluginFactory(new ConsoleAppenderFactory());
1014
1025
  this._pluginManager.registerPluginFactory(new FileAppenderFactory());
1015
1026
  this._pluginManager.registerPluginFactory(new DefaultFormatterFactory());
@@ -1046,10 +1057,10 @@ var LogM8 = class {
1046
1057
  init(config) {
1047
1058
  config = Object.assign({}, config);
1048
1059
  this._reset();
1049
- this._defaultLevel = this._logLevelSet.has(config.level) ? config.level : LogLevel.info;
1060
+ this._globalLogLevel = this._logLevelSet.has(config.level) ? config.level : LogLevel.info;
1050
1061
  for (const [name, level] of Object.entries(config.loggers ?? {})) {
1051
1062
  const logger = this.getLogger(name);
1052
- const l = this._logLevelSet.has(level) ? level : this._defaultLevel;
1063
+ const l = this._logLevelSet.has(level) ? level : this._globalLogLevel;
1053
1064
  logger.setLevel(l);
1054
1065
  }
1055
1066
  const appenderConfigs = config.appenders ?? DEFAULT_APPENDERS;
@@ -1146,7 +1157,7 @@ var LogM8 = class {
1146
1157
  if (existingLogger) return existingLogger;
1147
1158
  const logger = {
1148
1159
  name: nameStr,
1149
- level: this._defaultLevel,
1160
+ level: this._globalLogLevel,
1150
1161
  context: {}
1151
1162
  };
1152
1163
  logger.fatal = this._log.bind(this, logger, LogLevel.fatal);
@@ -1159,10 +1170,24 @@ var LogM8 = class {
1159
1170
  logger.setLevel = this._setLevel.bind(this, logger);
1160
1171
  logger.setContext = this._setContext.bind(this, logger);
1161
1172
  logger.getLogger = (name2) => this.getLogger([logger.name, name2]);
1162
- this._setLevel(logger, this._defaultLevel);
1173
+ this._setLevel(logger, this._globalLogLevel);
1163
1174
  this._loggers.set(logger.name, logger);
1164
1175
  return logger;
1165
1176
  }
1177
+ /**
1178
+ * Sets the global logging level or a specific logger's level.
1179
+ *
1180
+ * @param level - New logging level name (e.g., 'info', 'debug', 'off')
1181
+ * @param logger - Optional logger name to set level for a specific logger
1182
+ */
1183
+ setLevel(level, logger) {
1184
+ if (logger) {
1185
+ this.getLogger(logger).setLevel(level);
1186
+ } else {
1187
+ this._globalLogLevel = this._logLevelSet.has(level) ? level : this._globalLogLevel;
1188
+ this._globalLogLevelNumber = this._logLevelValues.indexOf(this._globalLogLevel);
1189
+ }
1190
+ }
1166
1191
  /**
1167
1192
  * Enables an appender to resume processing log events.
1168
1193
  *
@@ -1293,7 +1318,7 @@ var LogM8 = class {
1293
1318
  }
1294
1319
  _log(logger, level, message, ...data) {
1295
1320
  const levelNumber = this._logLevelValues.indexOf(level);
1296
- if (levelNumber > logger._levelNumber) return;
1321
+ if (levelNumber > logger._levelNumber || levelNumber > this._globalLogLevelNumber) return;
1297
1322
  const logEvent = {
1298
1323
  logger: logger.name,
1299
1324
  level,
@@ -1318,9 +1343,9 @@ var LogM8 = class {
1318
1343
  }
1319
1344
  }
1320
1345
  _setLevel(logger, level) {
1321
- logger.level = level;
1346
+ logger.level = this._logLevelSet.has(level) ? level : logger.level;
1322
1347
  logger._levelNumber = this._logLevelValues.indexOf(level);
1323
- logger.isEnabled = level !== LogLevel.off;
1348
+ logger.isEnabled = logger.level !== LogLevel.off;
1324
1349
  const levelNumber = logger._levelNumber;
1325
1350
  logger.isFatal = this._logLevelValues.indexOf(LogLevel.fatal) <= levelNumber;
1326
1351
  logger.isError = this._logLevelValues.indexOf(LogLevel.error) <= levelNumber;
@@ -1368,17 +1393,17 @@ var LogM8 = class {
1368
1393
  this.flushAppenders();
1369
1394
  this._appenders = [];
1370
1395
  this._loggers.clear();
1371
- this._defaultLevel = LogLevel.info;
1396
+ this._globalLogLevel = LogLevel.info;
1372
1397
  this._pluginManager.disposePlugins();
1373
1398
  }
1374
1399
  };
1375
1400
 
1376
1401
  // src/index.ts
1377
- var Logging = new LogM8();
1402
+ var LogM82 = new LogM8();
1378
1403
  export {
1379
1404
  LogLevel,
1405
+ LogM82 as LogM8,
1380
1406
  LogM8Utils,
1381
- Logging,
1382
1407
  PluginKind
1383
1408
  };
1384
1409
  //# sourceMappingURL=index.js.map