跳到內容

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);
 }
華夏公益教科書