Programming__WebObjects-EOF-Using EOF-Logging

Version 2.1 by smmccraw on 2007/07/08 09:44

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

Category:WebObjects