code: public static Integer getInteger(String name, Integer def, Level logLevel) {
          String v = getString(name);
         
          if (v != null) {
              try {
                  return Integer.decode(v);
              } catch (NumberFormatException e) {
                  // Ignore, fallback to default
                  if (LOGGER.isLoggable(logLevel)) {
                      LOGGER.log(logLevel, "Property. Value is not integer: {0} => {1}", new Object[] {name, v});
                  }
              }
          }
          return def;
      }
docs: Determines the integer value of the system property with the
  specified name, or a default value.
  
  This behaves just like <code>Integer.getInteger(String,Integer)</code>, except that it
  also consults the <code>ServletContext</code>'s "init" parameters. If neither exist,
  return the default value.
  
  @param   name property name.
  @param   def   a default value.
  @param   logLevel the level of the log if the provided system property name cannot be decoded into Integer.
  @return  the {@code Integer} value of the property.
  If the property is missing, return the default value.
  Result may be {@code null} only if the default value is {@code null}.