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

Duo Zhang commented on LOG4J2-3394:
-----------------------------------

The log4j2.properties is the configuration file I used, and log4j2.err is what 
I got on stderr.

{noformat}
2022-02-05 22:35:44,915 main WARN Error while converting string 
[${sys:hbase.root.logger:-INFO] to type [class org.apache.logging.log4j.Level]. 
Using default value [null]. java.lang.IllegalArgumentException: Unknown level 
constant [${SYS:HBASE.ROOT.LOGGER:-INFO].
        at org.apache.logging.log4j.Level.valueOf(Level.java:339)
        at 
org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$LevelConverter.convert(TypeConverters.java:289)
        at 
org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$LevelConverter.convert(TypeConverters.java:285)
        at 
org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.convert(TypeConverters.java:420)
        at 
org.apache.logging.log4j.core.config.plugins.visitors.AbstractPluginVisitor.convert(AbstractPluginVisitor.java:149)
        at 
org.apache.logging.log4j.core.config.plugins.visitors.PluginAttributeVisitor.visit(PluginAttributeVisitor.java:44)
        at 
org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.generateParameters(PluginBuilder.java:264)
        at 
org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:137)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1117)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1042)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1034)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:648)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:246)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:292)
        at 
org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:621)
        at 
org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694)
        at 
org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711)
        at 
org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253)
        at 
org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)
        at 
org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)
        at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)
        at 
org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:137)
        at 
org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:55)
        at 
org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47)
        at 
org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:363)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:388)
        at org.apache.hadoop.conf.Configuration.<clinit>(Configuration.java:227)
        at 
org.apache.hadoop.hbase.util.HBaseConfTool.main(HBaseConfTool.java:39)
{noformat}

This is the error, it seems that in log4j2 we do not support variable lookup 
when configuring rootLogger directly in properties file? What I used to 
configure rootLogger is

{noformat}
rootLogger = ${sys:hbase.root.logger:-INFO,console}
{noformat}

For security logger, it is fine, as I just put the level and appender directly.

{noformat}
logger.SecurityLogger.name = SecurityLogger
logger.SecurityLogger = INFO,RFAS
logger.SecurityLogger.additivity = false
{noformat}

Checked classpath, I have the newest snapshot log4j2 jars.
{noformat}
zhangduo@zhangduo-ubuntu:~/hbase/hbase-3.0.0-alpha-3-SNAPSHOT/lib/client-facing-thirdparty$
 ls log4j*
log4j-1.2-api-2.17.2-20220205.141839-109.jar  
log4j-api-2.17.2-20220205.141839-107.jar  
log4j-core-2.17.2-20220205.141839-103.jar  
log4j-slf4j-impl-2.17.2-20220131.204023-97.jar
{noformat}

[~mattsicker] FYI.

Thanks.

> The 'rootLogger=${sys:root.logger:-INFO,console}' does not work
> ---------------------------------------------------------------
>
>                 Key: LOG4J2-3394
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-3394
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Configuration
>            Reporter: Duo Zhang
>            Priority: Major
>         Attachments: log4j2.err, log4j2.properties
>
>
> Tried the new feature introduced in LOG4J2-3341 in hbase.
> https://github.com/apache/hbase/pull/4096
> I built a tarball and try to start a standalone hbase instance locally, but 
> log4j2 failed to load the system properties of rootLogger.
> Will upload the config and error output.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to