`

storm 自定义 日志文件

阅读更多

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

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

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

 

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

<appender name="USER_REDIS_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
      <file>${storm.log.dir}/user_redis.log</file><!-- log文件输出path -->
      <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
        <fileNamePattern>${storm.log.dir}/user_redis.log.%i</fileNamePattern><!-- 保留多个文件的文件命名格式 -->
        <minIndex>1</minIndex>
        <maxIndex>20</maxIndex><!-- 这两行可以共同配置保留多少个文件 -->
      </rollingPolicy>
      <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
        <maxFileSize>100MB</maxFileSize><!-- log文件的最大大小 -->
      </triggeringPolicy>
      <encoder>
        <pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSZZ} %c{1} [%p] %m%n</pattern> <!-- 输出的日志信息的格式 -->
      </encoder>
  </appender>

 

<logger name="com.jd.ad.user" additivity="false" >
<!-- name 可以配置哪些包下的日志信息要输出,也可以精准到一个类 -->
    <level value="INFO"/><!-- 要输出的日志信息的级别,我要输出业务日志,则配置为INFO -->
    <appender-ref ref="USER_REDIS_LOG"/><!-- 上面的appender的name -->
  </logger>

 

 

3
2
分享到:
评论

相关推荐

    如何自定义HDInsight Storm 日志文件大小-longfei1

    然而,为了适应不同的需求,用户可能希望自定义日志文件的大小和保留时间。以下是自定义 HDInsight Storm 日志文件大小的详细步骤: 首先,确保您已具备访问 HDInsight Storm 集群的 SSH 工具,如 Putty 或 Xshell...

    Storm_r1.1-Adarna

    1. `Optional_Storm.exe.config`:这是Storm主执行文件的配置文件,用于定义程序运行时的环境设置,如数据库连接字符串、日志配置、性能调整等。 2. `Storm.UI.dll`:这是用户界面相关的组件,包含了 Storm 软件的...

    Storm API实现词频统计

    生成的JAR文件(如`storm_demo.jar`)可以用Storm的命令行工具提交到本地或远程的Storm集群上运行,例如`storm jar storm_demo.jar WordCountTopology wordcount`。 5. **监控与调试** Storm提供了Web UI,可以...

    apache-storm-1.2.1.tar.gz

    7. **logs**:运行时日志文件的默认位置,用于排查问题和监控系统状态。 在部署和运行Storm时,用户需要配置集群环境,如Zookeeper和Nimbus(主节点),Supervisors(工作节点)以及配置数据源和数据目标。此外,...

    storm0.9-源码包

    - **storm.yaml**: Storm 的配置文件,包含了 Nimbus、Supervisor 和其他组件的配置参数。 - **Cluster 模式**: Storm 可以部署在本地模式进行开发测试,也可以在多机器集群上进行生产部署。 6. **监控与日志** ...

    storm0.9x安装所需所有包(全)

    5. 使用Storm的命令行工具(如`storm jar`)提交自定义的拓扑到集群。 通过理解这些知识点,你可以成功地安装和运行Apache Storm 0.9.x版本,进行实时数据处理和分析。同时,对于大型项目,还需要考虑监控、日志...

    apache-storm-1.1.2.tar.gz

    7. **storm-site.xml**:这是另一个可自定义的配置文件,可以覆盖`storm.yaml`中的配置项,通常用于集群级别的配置。 在配置Storm时,你需要根据你的环境调整`storm.yaml`或`storm-site.xml`,例如指定Zookeeper的...

    storm-1.1.1.tar.gz

    4. `logs`:日志文件的默认存储位置。 5. `examples`:可能包含一些示例拓扑,帮助用户理解如何构建和运行Storm应用。 6. `docs`:官方文档,有助于学习和理解Storm的工作原理和API。 在部署Storm集群时,你需要在...

    storm-hbase集成

    通常,集成 Storm 与 HBase 会通过编写自定义的 Bolt 组件来完成。Bolt 是 Storm 中处理数据的逻辑单元,负责执行业务逻辑,如将数据写入 HBase。以下是一些关键步骤: 1. 创建 HBase 连接:在 Storm 中,需要使用 ...

    storm+mq整合完整示例

    9. **开发与测试**:在storm和mq的整合中,开发者需要编写自定义的Spout和Bolt来实现特定的数据处理逻辑,并在本地或者测试环境中验证其正确性和性能。 综上所述,"storm+mq整合完整示例"是一个涵盖了实时数据处理...

    LogStorm:一个用于处理日志的Test Storm Project

    描述中提到日志文件已加载到MySQL数据库,这表明LogStorm支持将处理后的数据持久化存储。MySQL作为关系型数据库,提供了结构化数据的高效存储和查询能力。这允许用户通过SQL查询来分析日志数据,便于发现模式、趋势...

    扩展logback将日志输出到Kafka实例源码

    5. **日志级别与过滤**:在`logback.xml`配置文件中,可以设置不同级别的日志(如DEBUG、INFO、WARN、ERROR等),并可以使用过滤器(filter)来决定哪些日志应发送到Kafka,哪些不发送。 6. **性能优化**:考虑到...

    Getting Started with Storm

    - **Users Navigation Spout**:从 Web 日志文件中提取用户导航行为数据。 - **Get Category Bolt**:分析用户访问的页面类别。 - **User History Bolt**:记录用户的访问历史。 - **Product Categories Counter ...

    扩展logback将日志输出到Kafka实例扩展源码

    至于压缩包中的"storm-chapter04"文件,由于信息不足,无法直接确定其与日志输出到Kafka的具体关系,但根据名称猜测可能与Apache Storm(一个分布式实时计算系统)的第四章内容有关,可能会涉及到实时日志处理的场景...

    Storm实战构建大数据实时计算

    1. **LogSpout**:读取日志文件并发送日志记录。 2. **FilterBolt**:根据规则过滤无效的日志记录。 3. **CountBolt**:统计各个类别日志的数量。 4. **StoreBolt**:将统计结果存储到数据库中。 通过这样的流程,...

    starter_联合开发_storm_

    Spouts可以是无尽的数据源,如Twitter流、日志文件或自定义的事件生成器。它们必须是可容错的,因为Storm会尝试重新启动失败的spout任务以确保数据不丢失。 "Blot"可能是对Bolt的误拼。Bolt是拓扑中的处理组件,...

    webLog.zi..............

    在这个"storm案例"中,解压后的"webLog"文件可能包含了示例日志数据、Storm拓扑配置文件、以及可能的Python或Java代码实现。通过研究这个案例,你可以深入理解如何将Apache Storm应用于实时Web日志分析,进一步提升...

    storm整合redis的例子源码

    在这个例子中,可能需要自定义一个Spout,从特定的数据源获取数据,如日志文件或者网络接口。 2. **定义Bolt**:Bolt是处理数据的核心组件,可以实现各种业务逻辑,如清洗、转换、聚合等。对于整合Redis,Bolt可能...

Global site tag (gtag.js) - Google Analytics