2014-06-16 Created By BaoXinjian

OAF_OAF Debug And Log调试和记录工具的详解(案例)_控件一、摘要


在需求后期,对实现该需求的代码进行调试时一个不可忽略的步骤,可以确保代码在上线后尽可能避免出现bug和异常

在OAF开发中一般相关的部分主要有

1. 使用OAF Bug工具调试代码


  • 设定Breakpoint断电
  • 查看Exception Stack Trace
  • 设定Exception Breakpoint断点
  • 进行Debug,查看Call Stack和Data在断点上

2. 使用OAF Diagnostic工具产生log


  • 确认调试项目启动了Diagonstic属性
  • 进行Diagonstic调试
  • 记录代码中的异常

  • UI Log
  • JDBC Log

以前做项目时,总是遇到问题就去看代码,一般根据自己的经验,可以大概推断出异常的位置,再通过System.out.println输出一些相关信息,就可以解决了

以下只是提供一些比较标准的调试方法


OAF_OAF Debug And Log调试和记录工具的详解(案例)_OAF_02二、Debug工具


1. 打开原页面

 OAF_OAF Debug And Log调试和记录工具的详解(案例)_控件_03

2. 系统出现初始化错误,no data found

OAF_OAF Debug And Log调试和记录工具的详解(案例)_控件_04

3. 进行Debug

OAF_OAF Debug And Log调试和记录工具的详解(案例)_OAF_05

4. 在Debug控件组中进行具体操作

OAF_OAF Debug And Log调试和记录工具的详解(案例)_初始化_06


OAF_OAF Debug And Log调试和记录工具的详解(案例)_OAF_07三、Log工具


1. 确认Project启动OA Diagnostic属性

OAF_OAF Debug And Log调试和记录工具的详解(案例)_初始化_08

2. 打开页面后,查看Diagnostics连接

OAF_OAF Debug And Log调试和记录工具的详解(案例)_OAF_09

3.产生具体的log文件

OAF_OAF Debug And Log调试和记录工具的详解(案例)_OAF_10

OAF_OAF Debug And Log调试和记录工具的详解(案例)_初始化_11

4. 记录UI中的Log方法

  public static void log(OAPageContext pageContext, Object pModule, String pMsg, int pMessageLevel)

  {

    String indent = getIndentString(pageContext);   

    String str = formatMessage(indent, pMsg, pMessageLevel);   

    if( pageContext.isLoggingEnabled(pMessageLevel) )

      pageContext.writeDiagnostics(pModule, str, pMessageLevel);  

  }

5. 记录JDBC中的Log方法

  private void writeLog(String message, String methodName)

  {

      OADBTransaction transaction = this.getOADBTransaction();

      if (transaction.isLoggingEnabled(OAFwkConstants.STATEMENT))

      {

        transaction.writeDiagnostics(this, methodName+":"+message, OAFwkConstants.STATEMENT);

      }

  }


Thanks and Regards