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