You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Overview

You can turn SQL logging on when launching by using -DEOAdaptorDebugEnabled=true or EOAdaptorDebugEnabled YES. However, this can slam out a ton of SQL. While this is useful for some debugging it is way too much to sift through when trying to analyze a particular problem.

You can use this method to selectively enable and disable SQL logging:

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);
  }
}

This can be useful for such things as determining what fetches are performed when a page is rendered:

public void appendToResponse(WOResponse aResponse,
                           WOContext aContext) {
  logSQL(true);
  super.appendToResponse(aResponse, aContext);
  logSQL(false);
}
  • No labels