 					name: eventName
 					registrationid: regid
 			catch exception
-        @log "EventBus: error while pushing event #{eventName} to #{callback.stack}: #{exception}"
+        @log "EventBus: ##{correlationId} - event #{id}: error while pushing event #{eventName} to #{callback.stack}: #{exception}"
         throw exception if @rethrowExceptions
 
 	unsubscribe: (eventName, id) =>

    @registrationId = 0
    @id = 0
    @getStack = () ->
      stack = new Error().stack.split("\n")[3]
      stack = stack.replace /^(.*)\/([^\/]+$)/i, "$2"

	subscribe: (eventName, callback) =>

		id = ++@id
		correlationId = correlationId ? id
		@log "EventBus: ##{correlationId} event #{id} (#{eventName}): published event #{eventName} from #{@getStack()}" if @debug
		return @log "EventBus: ##{correlationId} - event #{id} (#{eventName}): no subscription" if @debug and !@bus[eventName]
		for regid, callback of @bus[eventName]
			@log "EventBus: ##{correlationId} - event #{id} (#{eventName}): calling #{callback.stack} (#{regid})" if @debug
			try
