[ https://issues.apache.org/jira/browse/LOG4J2-2971?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17292340#comment-17292340 ]
Ralph Goers commented on LOG4J2-2971: ------------------------------------- Sorry for taking so long to see your reply. I'm a little confused now at what you want. First, I am not sure why the code block you show above didn't work. You most certainly can do {code:java} private Level logLevel = Level.ERROR;{code} If you want to assign a value to logLevel based on the value of the --level option you simply need to do {code:java} logLevel = Level.getLevel(opt.toUpperCase());{code} exactly as you would for an enum - except that the value of logLevel will be null if no match is found while an Enum would generally throw an exception without a custom method. > 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 > > 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. > perhaps a new API enum could be introduced and method overloading could be > used to use it. -- This message was sent by Atlassian Jira (v8.3.4#803005)