跳到内容

WebObjects/EOF/使用 EOF/日志记录

来自维基教科书,开放的书籍,开放的世界

您可以在启动时使用 -DEOAdaptorDebugEnabled=true 或 EOAdaptorDebugEnabled YES 打开 SQL 日志记录。但是,这可能会生成大量的 SQL。虽然这对于某些调试很有用,但当您尝试分析特定问题时,它会产生太多内容,难以筛选。

您可以使用此方法选择性地启用和禁用 SQL 日志记录

 public static void logSQL(boolean shouldLog) {
   if (shouldLog) {
       NSLog.allowDebugLoggingForGroups(NSLog.DebugGroupSQLGeneration |
                                        NSLog.DebugGroupDatabaseAccess | 
                                        NSLog.DebugGroupEnterpriseObjects);
   } else {
       NSLog.refuseDebugLoggingForGroups(NSLog.DebugGroupSQLGeneration | 
                                         NSLog.DebugGroupDatabaseAccess |
                                         NSLog.DebugGroupEnterpriseObjects);
   }
 }

这对于确定渲染页面时执行了哪些获取等操作很有用

 public void appendToResponse(WOResponse aResponse,
                            WOContext aContext) {
   logSQL(true);
   super.appendToResponse(aResponse, aContext);
   logSQL(false);
 }
华夏公益教科书