[
https://issues.apache.org/jira/browse/LOG4J2-2971?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Caleb Cushing updated LOG4J2-2971:
----------------------------------
Description:
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.
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.
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.
> 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)