WebObjects/EOF/Using EOF/Logging

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