code: @Override
      public void command(String... args)
      {
          addOption(File.class, "-lx", "logging config file", "xmlConfig", false);
          addOption("-lp", "log pattern", "filelog", logPattern);
          addOption("-l", "log limit", "filelog", logLimit);
          addOption("-c", "log count", "filelog", logCount);
          addOption("-h", "host", "netlog", hostname);
          addOption("-p", "port", "netlog", radioPort);
          addOption("-ll", "log level", null, logLevel);
          addOption("-pl", "push level", null, pushLevel);
          addOption("-rl", "root log", null, rootLog);
          addOption("-ph", "use parent handlers", null, useParentHandlers);
          addOption("-bs", "buffer size", null, bufferSize);
          
          super.command(args);
          
          File configFile = getOption("-lx");
          if (configFile != null)
          {
              try
              {
                  JavaLogging.xmlConfig(configFile);
              }
              catch (IOException ex)
              {
                  throw new RuntimeException(ex);
              }
          }
          else
          {
              configureLog();
          }
          Thread.setDefaultUncaughtExceptionHandler(LoggingCommandLine::exceptionHandler);
      }
docs: ([ lp &lt;logging config file&gt; ] ) |
  (([ lp &lt;log pattern&gt; -l &lt;limit&gt; -c &lt;count&gt; ] |
  [ -h &lt;host&gt; -p &lt;radioPort&gt; ])
  [ -ll &lt;log level&gt; ] [ -pl &lt;push level&gt; ]
  [ -rl &lt;root log&gt; ] [ -ph &lt;use parent handlers&gt; ]
  [ -bs &lt;buffer size&gt; ])
  @param args