[
https://issues.apache.org/jira/browse/LOG4J2-56?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17464688#comment-17464688
]
ASF subversion and git services commented on LOG4J2-56:
-------------------------------------------------------
Commit 1508e2cd0e1798eb4e7ab41463d0b1bed87a5320 in logging-log4j1's branch
refs/heads/BRANCH_2_0_EXPERIMENTAL from Ralph Goers
[ https://gitbox.apache.org/repos/asf?p=logging-log4j1.git;h=1508e2c ]
Fix LOG4J2-56
git-svn-id:
https://svn.apache.org/repos/asf/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL@1240019
13f79535-47bb-0310-9956-ffa450edef68
> Level.toLevel throws IllegalArgumentException instead of returning default
> Level
> --------------------------------------------------------------------------------
>
> Key: LOG4J2-56
> URL: https://issues.apache.org/jira/browse/LOG4J2-56
> Project: Log4j 2
> Issue Type: Bug
> Components: API
> Affects Versions: 0.1
> Environment: Java 6
> Reporter: John Owen Atala
> Assignee: Ralph Goers
> Priority: Minor
> Original Estimate: 10m
> Remaining Estimate: 10m
>
> org.apache.logging.log4j.Level.toLevel(String, Level) ( Level.java line 100)
> uses enum static method valueOf(String) which throws IllegalArgumentException
> instead of returning null when enum const doesnt exists. This makes the
> methods Level.toLevel throw the exception instead of return default value.
> Solution:
> You can:
> a) sorround it with a try-catch statement, like:
> try {
> return valueOf(sArg);
> } catch (Exception e) {
> //exception doesnt matter
> return defaultLevel;
> }
> b) translate manually de String to a enum constant, like:
> for (Level level : values()) {
> if (level.name().equals(sArg)) {
> return level;
> }
> }
> return defaultLevel;
> I prefer b) because it saves the try-catch context and the for is nearly the
> same that the valueOf should do.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)