You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Ralph Goers (Jira)" <ji...@apache.org> on 2020/12/08 04:55:00 UTC

[jira] [Commented] (LOG4J2-2971) Level as Enum

    [ https://issues.apache.org/jira/browse/LOG4J2-2971?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17245673#comment-17245673 ] 

Ralph Goers commented on LOG4J2-2971:
-------------------------------------

As I recall the reason Level cannot be an enum is because Log4j supports custom Levels and there is no way in Java to have a dynamic enum. However, Level is backed by an enum named StandardLevel.

I would recommend that this issue be closed as "Not a Problem".

> 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)