WebObjects/Web Applications/Development/WOEvents and Logging

NSDebugLevel
These are the available debug levels (WebObjects 5.2.2):


 * DebugLevelOff 0
 * DebugLevelCritical 1
 * DebugLevelInformational 2
 * DebugLevelDetailed 3

NSDebugGroups
Debug groups are defined as flags in a 64-bit array. The value shown in the documentation is the index of the specific debug group flag in this array.

For example, if you want to start the logging of WebObjects and EO debug information you can do:

NSLog.allowDebuggingForGroups(NSLog.DebugGroupWebObjects|NSLog.DebugGroupEnterpriseObjects);

Or:

NSLog.allowDebuggingForGroups(6); // Flags 2 and 1, i.e. 6 = 1L<<2 | 1L<<1

You can specify debug groups in a command-line argument, either as a single numerical value (as above), as a list of flags or as a range of flags. For example, all the following are equivalent:

./MyApp -DNSDebugGroups=6 ./MyApp -DNSDebugGroups="(2, 1)" ./MyApp -DNSDebugGroups="(NSLog.DebugGroupWebObjects, NSLog.DebugGroupEnterpriseObjects)" ./MyApp -DNSDebugGroups=1:2

These are the available debug groups (WebObjects 5.2.2):


 * DebugGroupApplicationGeneration 3
 * DebugGroupArchiving 6
 * DebugGroupAssociations 19
 * DebugGroupComponentBindings 9
 * DebugGroupControllers 20
 * DebugGroupComponents 26
 * DebugGroupDatabaseAccess 16
 * DebugGroupDeployment 22
 * DebugGroupEnterpriseObjects 1
 * DebugGroupFormatting 10
 * DebugGroupIO 13
 * DebugGroupJSPServlets 27
 * DebugGroupKeyValueCoding 8
 * DebugGroupModel 15
 * DebugGroupMultithreading 4
 * DebugGroupParsing 23
 * DebugGroupQualifiers 11
 * DebugGroupReflection 24
 * DebugGroupRequestHandling 25
 * DebugGroupResources 5
 * DebugGroupRules 21
 * DebugGroupSQLGeneration 17
 * DebugGroupTiming 14
 * DebugGroupUserInterface 18
 * DebugGroupValidation 7
 * DebugGroupWebObjects 2
 * DebugGroupWebServices 2