Creating a unified logging schema for the JVM was introduced in Java 9. Here is a comprehensive list of the goals of that effort:
- To create a JVM-wide set of command line options for all logging operations
 - To use categorized tags for logging
 - To permit messages to have multiple tags, also referred to as tag sets
 - To provide six levels of logging:
 - Error
 - Warning
 - Information
 - Debug
 - Trace
 - Develop
 
- To select which messages are logged based on levels
 - To optionally direct logging to the console or a file:
 - Print one line at a time and do not support interleaving within the same line
 - To permit the output of multiple line logs (non-interleaved)
 - To format all logging messages so that they are easily human-read
 - To add decorations such as uptime, level, and tags
 - Like levels, to select which messages are logged based on decorations
 - To convert pre-Java 9 tty>print logging...