You can generate events using a method from shim.ChaincodeStubInterface API named
SetEvent(name string, payload []byte) error
The method description is as follows
//SetEvent allows the chaincode to set an event on the response to the
// proposal to be included as part of a transaction. The event will be
// available within the transaction in the committed block regardless of the
// validity of the transaction.