Also,I was trying to reload $HADOOP_HOME/etc/conf/log4j.properties which I 
edited with <[ID: %X{ID}] > into log4j.appender.RFA.layout.ConversionPattern in 
Mapper.setup(), like this:
"PropertyConfigurator.configure("/opt/software/hadoop/etc/hadoop/log4j.properties");"
It seems that $HADOOP_HOME/etc/hadoop/log4j.properties loaded,BUT 
log.info("*****") in Mapper.map() can't print out in map task logs...In other 
words,there was no log message in map task logs from 8088 history port..



At 2016-11-05 13:46:43, "Maria" <linanmengxia...@126.com> wrote:
>
>
>Hi Ravi, Thanks for your remind.
>
>Yes, as what you said, I am not sure that. I think this is a difficult problem 
>for me.
>I really have no idea about how to confirm the log4j.properties file.
>
>Liberty of disturbance to you,can you please give me an advice about how to 
>confirm if the log4j.properties file is what I edited, 
>or is there any other way to add the <ID> to log message except directly  
>written to LOG.info().
>
>Thank you .
>
>_Maria
>
>
>At 2016-11-05 11:35:02, "Ravi Prakash" <ravihad...@gmail.com> wrote:
> 
>
>
>
>Hi Maria!
>
>You have to be careful which log4j.properties file is on the classpath of the 
>task which was launched. Often times there are multiple log4j.properties file, 
>perhaps in the classpaths or in one of the jars on the classpath. Are you sure 
>the log4j.properties file you edited is the only one loaded by the classloader?
>
>Ravi
>
>
>
>On Fri, Nov 4, 2016 at 5:06 AM, Maria <linanmengxia...@126.com> wrote:
>
>
>
>Sorry,(clerical errors) .
>I just modified “log4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %p 
>%c: %m%n” 
>to "log4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %p %c: [ID: 
>%X{ID}]  %m%n",
>and use "MDC.put("ID",ID)" in mapper class, It does not work.
>
>
>
>At 2016-11-04 17:01:16, "Maria" <linanmengxia...@126.com> wrote:
>>
>>I know that, A simple way is to write "<custom ID> " to every 
>>LOG.info()/LOG.warn()....like this:
>>
>>logger.info(ID + " start map logic");
>>BUT,every LOG info has to add "ID" is not wise.   
>>Or else, can someone know how to modify the mapreduce task ConversionPattern 
>>configuration?
>>I tried to modify "RFA" Appender to this:
>>-------------------
>>log4j.appender.RFA=org.apache.log4j.RollingFileAppender
>>log4j.appender.RFA.File=${hadoop.log.dir}/${hadoop.log.file}
>>log4j.appender.RFA.MaxFileSize=${hadoop.log.maxfilesize}
>>log4j.appender.RFA.MaxBackupIndex=${hadoop.log.maxbackupindex}
>>log4j.appender.RFA.layout=org.apache.log4j.PatternLayout
>># Pattern format: Date LogLevel LoggerName LogMessage
>>log4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n
>># Debugging Pattern format
>>#log4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %-5p %l - [ID: 
>>%X{ID}]  %m%n
>>-----------------
>>It does not work.
>>
>>At 2016-11-04 11:26:57, "Maria" <linanmengxia...@126.com> wrote:
>>>
>>>Hi, dear developers,
>>>
>>>I'm trying to reconfig $HADOOP/etc.hadoop/log4j.properties, 
>>>I want to add an <custom ID> to mapreduce log before LOGmessage. Like this:
>>>"ID:234521 start map logic" 
>>>
>>>My steps as follow:
>>>(1)In my Mapper Class:
>>>
>>>static Logger logger = LoggerFactory.getLogger(Mapper.class);
>>>....
>>>
>>>public void map(Object key, Text value, Context context) throws IOException, 
>>>InterruptedException {
>>>
>>>    MDC.put("ID", "operatorID");
>>>    logger.info("start map logic");
>>>
>>>     StringTokenizer itr = new StringTokenizer(value.toString());
>>>     while (itr.hasMoreTokens()) {
>>>       word.set(itr.nextToken());
>>>       context.write(word, one);
>>>     }
>>>   }
>>> }
>>>(2)config $HADOOP/etc.hadoop/log4j.properties
>>>
>>>log4j.appender.TLA=org.apache.hadoop.mapred.TaskLogAppender 
>>>log4j.appender.TLA.taskId=${hadoop.tasklog.taskid} 
>>>log4j.appender.TLA.isCleanup=${hadoop.tasklog.iscleanup} 
>>>log4j.appender.TLA.totalLogFileSize=${hadoop.tasklog.totalLogFileSize} 
>>>   
>>>log4j.appender.TLA.layout=org.apache.log4j.PatternLayout 
>>>log4j.appender.TLA.layout.ConversionPattern=%l  %p %c: ID:[%X{ID}]  %m%n 
>>>
>>>
>>>BUT it does not work. and because use slf4j API, so I don't know how to get 
>>>Appenders.
>>>
>>>I am desperately in need。。
>>>Any help would be highly appreciated
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: user-unsubscr...@hadoop.apache.org
>>>For additional commands, e-mail: user-h...@hadoop.apache.org
>>
>>
>>【网易自营|30天无忧退货】日本匠心设计秋冬宠物用品,限时9.9元起,还可叠加双11折扣>>
>>    
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: user-unsubscr...@hadoop.apache.org
>>For additional commands, e-mail: user-h...@hadoop.apache.org
>
>
>
> 
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: user-unsubscr...@hadoop.apache.org
>For additional commands, e-mail: user-h...@hadoop.apache.org

Reply via email to