code: function createLogger(id) {
    let log = (level, fallbackToLog, ...rest) => sendMessage(id, level, fallbackToLog, ...rest);
    return {
      get id() {
        return id;
      },
      silly(...rest) {
        log(LEVELS.SILLY, true, ...rest);
      },
      debug(...rest) {
        log(LEVELS.DEBUG, true, ...rest);
      },
      info(...rest) {
        log(LEVELS.INFO, true, ...rest);
      },
      warn(...rest) {
        log(LEVELS.WARN, true, ...rest);
      },
      error(...rest) {
        log(LEVELS.ERROR, true, ...rest);
      },
      // CAUTION: experimental feature
      send(level, ...rest) {
        log(level, false, ...rest);
      }
    }
  }
docs: Create new logger instance
  
  @param {string} id
  @return {{id, silly: (function(...[*])), debug: (function(...[*])), info: (function(...[*])), warn: (function(...[*])), error: (function(...[*]))}}