Upgrade logback-steno version and simplify verticle launch logging. #8
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The current logging drops important information out of the result chain and logs multiple error messages many of which are unimportant. This leads to more time spent finding the actual cause of verticle deployment failure and requires a deeper than desirable knowledge of the deployment code to find the useful information.
This pull request pushes all exceptions to the DeploymentMonitorHandler where they are all logged (if any). Some of the error messages along the way have been removed, in my opinion either rethrow (or in async pass on the cause) or log, but not both. In some cases debug log messages are emitted instead where additional information may aid with debugging the launcher itself.
I'm open to changing any of the messaging, levels, etc.. -- there are some parts that I did not have ideal answers for, so please let me know what works for you as well.
Below are snapshots of output for the same failure using 3.2.0 and 3.2.1-SNAPSHOT (this PR) for comparison. They used the KeyValueEncoder from Logback-Steno but the output would be reasonably similar under the StenoEncoder.
Old Logging:
You can see how far up the actual useful error is and how many useless stack traces are output after it (developer sees error + stack trace they expect to find something useful).
New Logging:
Under the new logging code there is a single error message with all the necessary exceptions in one place and it's the second last line of output before the program exits.
Thanks!
Ville