text: Title: Ignore empty log messages (including messages cleared by listeners)
  Body: Listeners using the v3 API can modify the logged message, but they cannot remove it altogether. Even if they set the message to an empty string, that empty string is still logged. This adds unnecessary noise to the log file and increases the size of output.xml.
  
  This is easiest to implement by ignoring log messages having an empty string as the value. Not writing them to output.xml is easy and that automatically takes care of removing them from the log file as well. They should not be included in the result model created during execution either, but I actually believe that model doesn't get log messages at all at the moment.
  
  ---
  
  **UPDATE:** This change will obviously mean that all empty messages are ignored. Updated the title accordingly.