storm日志配置

Storm中的日志级级别默认为INFO,并且,日志文件是根据worker号来进行区分的,这样,同一个log文件中的信息不一定是一个业务的,这样就会有以下两个需求出现:

1. 想要进行一些调试信息的输出

2. 调试信息或者业务日志信息想要输出到一些固定的文件中

 

不要怕,不要烦恼,其实Storm已经提供了这样的支持,可以通过自定义logback 下的 cluster.xml 来输出自己想要的日志信息,并且自定义日志输出的格式。下面是我自定义的一些配置,其实跟storm提供的差不多。

Xml代码   收藏代码
  1. <appender name="USER_REDIS_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">  
  2.       <file>${storm.log.dir}/user_redis.log</file><!-- log文件输出path -->  
  3.       <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">  
  4.         <fileNamePattern>${storm.log.dir}/user_redis.log.%i</fileNamePattern><!-- 保留多个文件的文件命名格式 -->  
  5.         <minIndex>1</minIndex>  
  6.         <maxIndex>20</maxIndex><!-- 这两行可以共同配置保留多少个文件 -->  
  7.       </rollingPolicy>  
  8.       <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">  
  9.         <maxFileSize>100MB</maxFileSize><!-- log文件的最大大小 -->  
  10.       </triggeringPolicy>  
  11.       <encoder>  
  12.         <pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSZZ} %c{1} [%p] %m%n</pattern> <!-- 输出的日志信息的格式 -->  
  13.       </encoder>  
  14.   </appender>  
Xml代码   收藏代码
  1. <logger name="com.jd.ad.user" additivity="false" >  
  2. <!-- name 可以配置哪些包下的日志信息要输出,也可以精准到一个类 -->  
  3.     <level value="INFO"/><!-- 要输出的日志信息的级别,我要输出业务日志,则配置为INFO -->  
  4.     <appender-ref ref="USER_REDIS_LOG"/><!-- 上面的appender的name -->  
  5.   </logger> 

猜你喜欢

转载自ydlmlh.iteye.com/blog/2274361