[
https://issues.apache.org/jira/browse/LOG4J2-3413?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17498273#comment-17498273
]
Piotr P. Karwasz commented on LOG4J2-3413:
------------------------------------------
It's a bug in the property sources (cf.
[documentation|https://logging.apache.org/log4j/2.x/manual/configuration.html#SystemProperties])
introduced in Log4j 2.10.0. The algorithm that allows to support both legacy
property names and new standardized names is too liberal. It takes your
{{LEVEL}} environment variable as a valid substitute for {{log4j2.level}}.
As a workaround you can declare a Java system property:
{noformat}
org.apache.logging.log4j.level=ERROR
{noformat}
Since it is literally the property requested by Log4j code, it will override
the {{LEVEL}} environment variable.
> Log4j2 Incorrectly Uses System Property For Level Setting And Got
> IllegalArgumentException
> ------------------------------------------------------------------------------------------
>
> Key: LOG4J2-3413
> URL: https://issues.apache.org/jira/browse/LOG4J2-3413
> Project: Log4j 2
> Issue Type: Bug
> Components: Configuration
> Affects Versions: 2.17.1
> Environment: IBM WAS 9, JAVA 8
> Reporter: Sean Wang
> Priority: Major
> Attachments: Log4j2IssueLogs.txt
>
>
> We have an environment parameter in IBM WAS 9 running JAVA 8 with a name of
> "level" and a value of "DEVL". This parameter is used by applications to
> detect the environment they are on and worked fine with log4j2.8.2.
> After upgraded to Log4j2.17.1, for some reason the Log4j2 grabs that
> parameter during the initialization, ignoring the settings in the log4j2.xml,
> and spills a _java.lang.IllegalArgumentException: Unknown level constant
> [DEVL]_ in the system log.
>
>
>
>
--
This message was sent by Atlassian Jira
(v8.20.1#820001)