Spark设置日志打印级别

本文介绍了如何在Spark中修改默认的日志级别,包括全局配置(修改log4j.properties),以及在JavaSparkContext和Maven项目中设置特定日志打印级别。重点在于如何使日志输出更专注于错误级别。

一、修改Spark-core包默认的日志级别

spark中提供了log4j的方式记录日志。可以在$SPARK_HOME/conf/下,将 log4j.properties.template 文件copy为 log4j.properties 来启用log4j配置。但这个配置为全局配置,不能单独配置某个job的运行日志。Spark-core包设置默认的日志级别为info。将文件中的log4j.rootCategory=INFO, console修改为log4j.rootCategory=ERROR, console即可,如下图所示:
在这里插入图片描述
此时,在控制台调试spark程序就没有了INFO信息。
在这里插入图片描述

二、在Spark程序中设置日志打印级别:

        JavaSparkContext sc = new JavaSparkContext(conf);
        //设置日志输出级别
		sc.setLogLevel("ERROR");
		JavaRDD<String> lines = sc.textFile("input.txt");

三、 在maven项目中设置Spark程序的日志打印级别:

  1. 引入logger4j和slf4j的依赖
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.21</version>
        </dependency>
  1. 在代码中加入
        Logger.getLogger("org").setLevel(Level.ERROR);
### 日志级别与配置方法 日志系统通常提供多个日志级别,用于控制输出信息的详细程度。常见的日志级别包括 **ALL、TRACE、DEBUG、INFO、WARN、ERROR、FATAL 和 OFF**。不同的级别对应不同的信息重要性,级别越高,输出的信息越少;级别越低,输出的信息越详细。 在 Windchill 环境中,默认情况下仅记录 **ERROR** 和 **FATAL** 级别日志事件。如果需要查看更详细的日志信息,如 **DEBUG** 或 **INFO**,可以通过调整日志级别来实现。可以通过两种方式更改日志级别: - **全局修改**:通过编辑属性文件并更改 `log4j.rootLogger` 的值为所需的日志级别。 - **局部修改**:针对特定记录器进行调整,使用 `log4j.logger.[TargetLoggerName]=[DesiredLogLevel]` 格式添加配置项[^1]。 例如,在 Spark 应用中,可以使用如下配置将日志级别设置为 **DEBUG** 并将日志输出到控制台: ```properties log4j.rootLogger=DEBUG, stdout ``` 同时,也可以进一步定义控制台输出的格式和编码方式: ```properties log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %l %m%n ``` 在 Python 中,特别是使用 `requests` 进行接口自动化测试时,可以通过标准的日志模块设置日志级别。首先确保导入必要的模块,并配置基本的日志设置,例如: ```python import logging # 设置日志级别为 DEBUG,并指定日志格式 logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s') # 示例请求 import requests url = 'https://www.baidu.com/?tn=15007414_13_dg' res = requests.get(url) logging.debug('响应内容: %s', res.text) ``` 对于 JavaCV 项目,可以通过类似的方式开启日志功能并设置日志级别,具体配置方法可以参考项目的文档或源码中的日志初始化部分[^4]。 ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值