How about trying this below to have all the relevant things [out of which you can choose what do you want to pick]:
host=myhost source=/hosting/logs//.log CASE(Module) .ear OR *.war
| rex "\[Module\s*(?<myWar>[\S]+) of application (?<myApp>[\S]+) (?<action>.+) from (?<prevState>[\S]+) to (?<curState>[\S]+) on server (?<server>[^\]]+)"
| table myWar, myApp, action, prevState, curState, server
See extraction here
A better extraction which will ensure that spaces don't tumble the query can be seen here and using that your query shall look like as follows:
host=myhost source=/hosting/logs//.log CASE(Module) .ear OR *.war
| rex "\[Module\s*(?<myWar>[\S]+)\s*of\s*application\s*(?<myApp>[\S]+)\s*(?<action>.+)\s*from\s*(?<prevState>[\S]+)\s*to\s*(?<curState>[\S]+)\s*on\s*server\s*(?<server>[^\]]+)"
| table myWar, myApp, action, prevState, curState, server
... View more