Programming__WebObjects-EOF-Using EOF-Logging

Version 3.1 by Quinton Dolan on 2007/07/09 07:08

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