Support halt lifecycle
Pretty exception middleware

* the halt lifecycle only be used when shutdown system
* the elastic can be started and shutdown by the lifecycle