debugMode property

bool debugMode

Returns true if the debug mode is active, false otherwise.

Implementation

static bool get debugMode => _debugMode;
void debugMode=(bool newMode)

Sets the debug mode (true for activating it, false for disabling it). If newMode corresponds to the current state of the debug mode then nothing is done.

If debugFileDirectory and debugFileName were not called prior to this method the debug mode does not get set.

Implementation

static set debugMode(final bool newMode) {
  if (_debugMode == newMode) {
    print(
      '[LogLogger]: The debug mode is already ${newMode ? 'enabled' : 'disabled'}.',
    );
    return;
  }

  print(
    '[LogLogger]: The file path is ${_filePathIsCorrect ? "" : "not "}correctly formed.',
  );

  if (newMode && !_filePathIsCorrect) {
    throw DebugFileNotSetException(
      'The debug mode was requested but the path provided (path = \'${join(_debugFileDirectory, _debugFileName)}\') was not valid.',
    );
  }

  _debugMode = newMode;

  if (_debugMode) {
    print(
      "[LogLogger]: Switching ${_registeredLoggers.keys.length} registered loggers to both console and file loggers.",
    );
    for (final label in _registeredLoggers.keys) {
      _registeredLoggers[label]!.close();
      _registeredLoggers.update(label, (_) => _consoleAndFileLogger(label));
    }
  } else {
    print(
      "[LogLogger]: Switching ${_registeredLoggers.keys.length} registered loggers to console only loggers.",
    );
    for (final className in _registeredLoggers.keys) {
      _registeredLoggers[className]!.close();
      _registeredLoggers.update(className, (_) => _consoleLogger(className));
    }
  }
}