背景
由于项目需要,需要将CDH中HDFS服务的进程的log输出格式改造成json格式,以便于后续使用Spark的处理,因此对其进行改造
修改NameNode进程的日志输出格式
在CDH中进行配置:
log4j.appender.RFA.layout.ConversionPattern =
{"time":"%d{yyyy-MM-dd HH:mm:ss,SSS}","logtype":"%p","loginfo":"%c:%m"}%n
修改DataNode进程的日志输出格式
在CDH中进行配置:
log4j.appender.RFA.layout.ConversionPattern =
{"time":"%d{yyyy-MM-dd HH:mm:ss,SSS}","logtype":"%p","loginfo":"%c:%m"}%n
重启&生效
保存
保存之后,单击Stale Configuration:Restart needed
Restart Stale Services
Review Changes
验证
不足
当出现exception换行时,就会整个信息只有第一行为json格式,剩余行为普通输出,那么整个一条信息就不是完整的json(该现象可称为日志折断现象)
将在后续中使用改造Flume来进行解决