log_util.dart 874 Bytes
enum LogLevel { debug, info, warning, error }

class Log {
  static LogLevel level = LogLevel.debug;

  /// debug
  static void d(String message) {
    if (level.index <= LogLevel.debug.index) {
      print(message);
    }
  }

  /// info
  static void i(String message) {
    if (level.index <= LogLevel.info.index) {
      print(message);
    }
  }

  /// warning
  static void w(String message) {
    if (level.index <= LogLevel.warning.index) {
      print(message);
    }
  }

  /// error
  static void e(String message) {
    if (level.index <= LogLevel.error.index) {
      print(message);
    }
  }
}

extension LogExtension on String {
  String logD() {
    Log.d(this);
    return this;
  }

  String logI() {
    Log.i(this);
    return this;
  }

  String logW() {
    Log.w(this);
    return this;
  }

  String logE() {
    Log.e(this);
    return this;
  }
}