public void dispose() {

    // prevent expensive shutdown calls on all the hierarchy's appenders
    if (!disposed) {
      hierarchy.shutdown();
      disposed = true;
    }
  }
  public Logger getRootLogger() {

    return hierarchy.getRootLogger();
  }
  public Logger getLogger(Class<?> clazz) {

    return hierarchy.getLogger(clazz.getCanonicalName());
  }
  public Logger getLogger(String name) {

    return hierarchy.getLogger(name);
  }