It is currently difficult to see only a specific type of debug information, for example, only SQL queries to the database. The user has to filter through the main debug log deleting all the stuff they aren't interested in.
It would be useful if users could define $wgDebugLogGroups to see specific types of debugging. I propose having all classes use wfDebugLog instead of wfDebug. For example the various database access classes could do wfDebugLog( 'database', $msg ) instead of wfDebug( $msg ). Then if a user wanted to see all database interaction, they could just define a $wgDebugLogGroups for 'database'.
Since wfDebugLog by default just passes messages to wfDebug if no log is defined in $wgDebugLogGroups, the default logging behavior would be exactly the same as it is now.
Aside from database interaction, caching, and authentication could be logged to different logs.