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

Reply via email to