您的位置:首页 > 其它

storm中的log4j到logback的迁移(自定义日志)

2016-11-09 17:12 337 查看
[Everyday it gets a little easier. But you gotta do it every day.
That's the hard part. But it does get easier. ——Bojack Horseman  S2E12]

1.背景

代码里的自定义日志打印使用的是log4j,storm使用的是logback,自定义日志输出。

2.步骤

   (1)在代码中使用slf4j替换log4j
package cn.com.maixiaohai.tianjiao.etl.realtime;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class RedundantFields {
private static Logger redundant = LoggerFactory.getLogger(RedundantFields.class);
...
}
  
  (2)配置logback的xml文件
   地址 ${storm.log.dir}/logback/worker.xml
   以下为logback配置的基本结构:
   


  根据logback配置的结构,需要增加logger和对应的appender:
<appender name="REDUNDANT" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${storm.log.dir}/redundant-%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>10</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSZZ} %c{1} [%p] %m%n</pattern>
</encoder>
</appender>

<logger name="cn.com.maixiaohai.tianjiao.etl.realtime.RedundantFields" additivity="false">
<level value="INFO"/>
<appender-ref ref="REDUNDANT"/>
</logger>
appender的name和logger中appender-ref的ref值必须一致,logger的name为对应java类路径

此路径${storm.log.dir}/redundant-%d{yyyy-MM-dd}.log会有需要的输出
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  storm log4j logback