# Debugging options for the org.eclipse.ecf.server plug-in

# Turn on general debugging for the org.eclipse.ecf.server plug-in
org.eclipse.ecf.server/debug=true
org.eclipse.ecf.server/debug/filter = *
org.eclipse.ecf.server/debug/flag = true

# Trace when exceptions are caught
org.eclipse.ecf.server/debug/exceptions/catching=false
# Trace when exceptions are thrown
org.eclipse.ecf.server/debug/exceptions/throwing=false

# Trace when methods are entered
org.eclipse.ecf.server/debug/methods/entering=false
# Trace when methods are exited
org.eclipse.ecf.server/debug/methods/exiting=false
