在Java中调试 - 设置debugMode标志

fz_*_*lam 4 java debugging javafx

为一个noobish问题道歉.

我正在开发一个JavaFX应用程序.

我想成立一​​个"全球性"的布尔类型变量"DebugMode",这样,当一个自定义的(我的意思是定制的,或采用自制)异常被抛出,的getMessage()函数可以检查DebugMode变量,看是否DebugMode是组.

如果DebugMode为'true',则异常可以给出调试的详细消息,或者只是为最终用户提供用户友好消息.

是否有可能在java中,就像PHP中的$ GLOBAL变量一样?或者有没有其他方法为开发人员和最终用户提供两种不同的异常消息?

Him*_*waj 6

转到-D参数(JVM属性).这意味着,当我从命令行启动应用程序时.我可以做点什么,

     java Hello -DdetailedDebugMode=true
Run Code Online (Sandbox Code Playgroud)

在java代码中我可以做类似的事情:

  printError(Throwable t) {
      if(System.getProperties("detailedDebugMode") != null && "true".equalsIgnoreCase(System.getProperties("detailedDebugMode"))) {
          LOG.error("Here is the message", e);
      } else {
          LOG.error("Here is the message only");
      }
  }
Run Code Online (Sandbox Code Playgroud)

  • 放置`public static boolean DEBUG_MODE = System.getProperties("detailedDebugMode")!= null &&"true".equalsIgnoreCase(System.getProperties("detailedDebugMode"));`某处只进行一次此调用.然后检查此变量,而不是使此查询可能数百次. (2认同)