log static method

void log(
  1. LogLevel level,
  2. Object object, {
  3. String tag = _defaultTag,
})

打印日志

Prints a log message with the specified log level and tag.

Implementation

static void log(LogLevel level, Object object, {String tag = _defaultTag}) {
  if (!_debuggable || level.index < _logLevel.index) return;

  final logTag = tag.isEmpty ? _currentTag : tag;
  final timestamp = getCachedTimestamp();
  final levelShortcut = _levelShortcuts[level] ?? "[X]"; // 默认未知级别为 [X]

  String msg;
  if (levelShortcut == "[X]") {
    // 如果是未知级别,生成警告日志
    msg = "[$timestamp] [WARN] $logTag:-> Unknown log level encountered.";
    debugPrint(msg);

    // 调用回调函数,使用 LogLevel.warn 级别
    for (final callback in _callbacks) {
      callback(LogLevel.warn, logTag, msg);
    }
    return; // 直接返回,不再继续处理
  }

  // 正常日志处理
  msg = "[$timestamp] $levelShortcut $logTag:-> $object";
  debugPrint(msg);

  // 调用回调函数
  for (final callback in _callbacks) {
    callback(level, logTag, msg);
  }
}