Logger constructor

Logger(
  1. String key
)

constructor(key)

key is the unique identifer defined in DEBUG env variable

Implementation

Logger(String key) {
  prompt = key;
  fg = fg_colors[nextColor];
  bg = bg_colors[nextColor];

  if (++nextColor >= fg_colors.length) {
    nextColor = 0;
  }

  final debug = Env.get('DEBUG');
  if (debug == null) {
    log = (s) {};
  } else {
    final parts = debug.split(';');
    if (parts.contains(prompt)) {
      log = (s) {
        var now = Now(), elapsed = now - lastCall;
        console.setForegroundColor(fg);
        console.setBackgroundColor(bg);

        console.write('$now $prompt ');
        console.resetColorAttributes();
        console.write('$s ');
        console.setForegroundColor(fg);
        console.setBackgroundColor(bg);
        console.writeLine('+${elapsed}ms');
        console.resetColorAttributes();
      };
    } else {
      log = (s) {};
    }
  }
}