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

Duo Zhang commented on HADOOP-16206:
------------------------------------

The progress till now:

I've implemented a converter to convert the log4j1 properties file to log4j2 
properties file.

https://github.com/Apache9/TempCode/blob/master/src/main/java/com/github/apache9/log4j2/HadoopLog4j1ConfigurationConverter.java

It will try its best to convert and if it is impossible, will wrap the config 
value with '{{{{ }}}}' so we can easily grep them out.

And while converting, I found some typos, and also an invalid configuration...

{noformat}
zhangduo@zhangduo-ubuntu:~/hadoop/code$ grep -R log4j.threshhold .
./hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-api/src/main/resources/log4j-server.properties:log4j.threshhold=ALL
./hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/conf/yarnservice-log4j.properties:log4j.threshhold=ALL
./hadoop-cloud-storage-project/hadoop-cos/src/test/resources/log4j.properties:log4j.threshhold=ALL
{noformat}

'threshhold' -> 'threshold'

{noformat}
zhangduo@zhangduo-ubuntu:~/hadoop/code$ grep -R log4j.logger= .
./hadoop-tools/hadoop-sls/src/main/sample-conf/log4j.properties:log4j.logger=NONE,
 test
{noformat}

log4j.logger is not a valid config way and NONE is also not a valid level?

And after converting all the files, I greped all the '{{{{' in the code base.

{noformat}
zhangduo@zhangduo-ubuntu:~/hadoop/code$ grep -R {{{{ . | grep type
./hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/resources/container-log4j2.properties:appender.CLA.type
 = {{{{org.apache.hadoop.yarn.ContainerLogAppender}}}}
./hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/resources/container-log4j2.properties:appender.CRLA.type
 = {{{{org.apache.hadoop.yarn.ContainerRollingLogAppender}}}}
./hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/resources/container-log4j2.properties:appender.shuffleCLA.type
 = {{{{org.apache.hadoop.yarn.ContainerLogAppender}}}}
./hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/resources/container-log4j2.properties:appender.shuffleCRLA.type
 = {{{{org.apache.hadoop.yarn.ContainerRollingLogAppender}}}}
./hadoop-common-project/hadoop-common/src/main/conf/log4j2.properties:appender.TLA.type
 = {{{{org.apache.hadoop.mapred.TaskLogAppender}}}}
./hadoop-common-project/hadoop-common/src/main/conf/log4j2.properties:#appender.namenoderequestlog.type
 = {{{{org.apache.hadoop.http.HttpRequestLogAppender}}}}
./hadoop-common-project/hadoop-common/src/main/conf/log4j2.properties:#appender.datanoderequestlog.type
 = {{{{org.apache.hadoop.http.HttpRequestLogAppender}}}}
./hadoop-common-project/hadoop-common/src/main/conf/log4j2.properties:#appender.resourcemanagerrequestlog.type
 = {{{{org.apache.hadoop.http.HttpRequestLogAppender}}}}
./hadoop-common-project/hadoop-common/src/main/conf/log4j2.properties:#appender.jobhistoryrequestlog.type
 = {{{{org.apache.hadoop.http.HttpRequestLogAppender}}}}
./hadoop-common-project/hadoop-common/src/main/conf/log4j2.properties:#appender.nodemanagerrequestlog.type
 = {{{{org.apache.hadoop.http.HttpRequestLogAppender}}}}
./hadoop-common-project/hadoop-common/src/main/conf/log4j2.properties:appender.EWMA.type
 = {{{{org.apache.hadoop.yarn.util.Log4jWarningErrorMetricsAppender}}}}
{noformat}

All of them are customized appenders. They are

org.apache.hadoop.yarn.ContainerLogAppender
org.apache.hadoop.yarn.ContainerRollingLogAppender
org.apache.hadoop.mapred.TaskLogAppender
org.apache.hadoop.http.HttpRequestLogAppender
org.apache.hadoop.yarn.util.Log4jWarningErrorMetricsAppender

Next I will dig more on whether these appenders are still needed, and if so, 
will try to port them to log4j2.

Thanks.


> Migrate from Log4j1 to Log4j2
> -----------------------------
>
>                 Key: HADOOP-16206
>                 URL: https://issues.apache.org/jira/browse/HADOOP-16206
>             Project: Hadoop Common
>          Issue Type: Sub-task
>    Affects Versions: 3.3.0
>            Reporter: Akira Ajisaka
>            Assignee: Duo Zhang
>            Priority: Major
>         Attachments: HADOOP-16206-wip.001.patch
>
>
> This sub-task is to remove log4j1 dependency and add log4j2 dependency.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to