code: @Override
      protected void logImpl(LogLevel level,Object[] message,Throwable throwable)
      {
          //get log level
          int levelValue=level.getValue();
          Level jdkLevel=null;
          switch(levelValue)
          {
              case LogLevel.DEBUG_LOG_LEVEL_VALUE:
                  jdkLevel=Level.FINEST;
                  break;
              case LogLevel.ERROR_LOG_LEVEL_VALUE:
                  jdkLevel=Level.SEVERE;
                  break;
              case LogLevel.INFO_LOG_LEVEL_VALUE:
              default:
                  jdkLevel=Level.FINE;
                  break;
          }
  
          if(jdkLevel!=null)
          {
              //format log message (without exception)
              String text=this.formatLogMessage(level,message,null);
  
              //log
              this.JDK_LOGGER.log(jdkLevel,text,throwable);
          }
      }
docs: Logs the provided data.
  
  @param   level
  The log level
  @param   message
  The message parts (may be null)
  @param   throwable
  The error (may be null)