[ https://issues.apache.org/jira/browse/LOG4J2-2971?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Caleb Cushing updated LOG4J2-2971: ---------------------------------- Description: I suspect this would be an API breaking change, but it seems like the `Level` class should be an enum instead. I don't really understand why it's not. Tried to write this code with picocli only to be surprised when it didn't work. {code:java} @CommandLine.Option( names = { "--level"}, defaultValue = "error", showDefaultValue = CommandLine.Help.Visibility.ALWAYS, description = "enable debug logging" ) private Level logLevel = Level.ERROR;{code} this means that picocli and many libraries wouldn't be able to simply generate options. In this case I'll have to do quite a bit more work to tell picocli all the possible values. Since this is probably an API breaking change, perhaps a new API enum could be introduced and method overloading could be used to use it. In a future, say 3.x change it could become the implementation. was: I suspect this would be an API breaking change, but it seems like the `Level` class should be an enum instead. I don't really understand why it's not. Tried to write this code with picocli only to be surprised when it didn't work. {code:java} @CommandLine.Option( names = { "--level"}, defaultValue = "error", showDefaultValue = CommandLine.Help.Visibility.ALWAYS, description = "enable debug logging" ) private Level logLevel = Level.ERROR;{code} this means that picocli and many libraries wouldn't be able to simply generate options. In this case I'll have to do quite a bit more work to tell picocli all the possible values. > Level as Enum > ------------- > > Key: LOG4J2-2971 > URL: https://issues.apache.org/jira/browse/LOG4J2-2971 > Project: Log4j 2 > Issue Type: New Feature > Reporter: Caleb Cushing > Priority: Major > > I suspect this would be an API breaking change, but it seems like the `Level` > class should be an enum instead. I don't really understand why it's not. > Tried to write this code with picocli only to be surprised when it didn't > work. > {code:java} > @CommandLine.Option( > names = { "--level"}, > defaultValue = "error", > showDefaultValue = CommandLine.Help.Visibility.ALWAYS, > description = "enable debug logging" > ) > private Level logLevel = Level.ERROR;{code} > this means that picocli and many libraries wouldn't be able to simply > generate options. In this case I'll have to do quite a bit more work to tell > picocli all the possible values. > Since this is probably an API breaking change, perhaps a new API enum could > be introduced and method overloading could be used to use it. In a future, > say 3.x change it could become the implementation. -- This message was sent by Atlassian Jira (v8.3.4#803005)