您可以编辑实时计算作业参数,自定义实时计算作业的日志级别和下载路径。

注意 仅实时计算3.2及以上版本支持自定义日志级别和下载路径。

操作步骤

  1. 登录实时计算控制台
  2. 单击页面顶部的开发
  3. 在左侧导航栏的作业开发区域,双击文件夹,查找目标作业。
  4. 双击目标作业,进入作业编辑页面。
  5. 在作业编辑页面右侧的作业参数页面,输入log4j的配置信息。
    log4j配置信息 说明
    根Logger Logger负责处理日志记录的部分操作,其语法格式为:log4j.rootLogger = [ level ] , appenderName, appenderName, …,表示输出指定级别以上的日志信息到指定的一个或者多个位置。其中:
    • level:日志级别,优先级从高到低分别为ERROR(严重错误)、WARN(一般警告)、INFO(提示信息)、DEBUG(调试信息)。
    • appenderName:指定日志信息输出到哪个地方,可以同时指定多个输出目的地。
    日志信息输出目的地Appender Appender负责控制日志记录操作的输出,其语法格式如下。
    log4j.appender.appenderName = fully.qualified.name.of.appender.class
    log4j.appender.appenderName.option1 = value1
    ...
    log4j.appender.appenderName.optionN = valueN
    Appender分为以下两种:
    • log4j自带的Appender
      • org.apache.log4j.ConsoleAppender:控制台
      • org.apache.log4j.FileAppender:文件
      • org.apache.log4j.DailyRollingFileAppender:每天产生一个日志文件
      • org.apache.log4j.RollingFileAppender:文件大小到达指定大小时产生一个新文件
      • org.apache.log4j.WriterAppender:以流格式发送日志信息到任意指定地方
    • 自定义Appender
      目前只支持日志服务SLS和对象存储OSS,且对应的类是固定的,如下所示:
      • SLS:log4j.appender.loghub=com.alibaba.blink.log.loghub.BlinkLogHubAppender
      • OSS:log4j.appender.oss=com.alibaba.blink.log.oss.BlinkOssAppender
      此外,您也可以配置任何log4j语法支持的配置项。

    详细示例请参见修改日志级别为DEBUG,并输出日志至OSS示例

    说明 完成编辑作业参数后,请重启作业。您可以在OSS存储空间查看新生成的日志。
  6. 停止作业。作业停止步骤请参见停止
  7. 启动作业。作业启动步骤请参见启动

注意事项

  • 选择和独享模式集群相同的OSS存储路径。
  • 日志下载包含log4j日志的输出方式,不包含system.out日志。
  • 指定的SLS或OSS存储和作业所在集群可连通。
  • 如果自定义日志输出方式配置错误,作业通常可以启动成功,但不能按照自定义配置打印日志。

修改日志级别为DEBUG,并输出日志至OSS示例

注意 手动配置log4j.rootLogger参数会导致实时计算平台无法查看日志信息以及排查相关问题,请谨慎使用。
#将总体日志级别修改为DEBUG,并将日志输出至OSS存储空间。
log4j.rootLogger=DEBUG, file, oss

#固定写法。配置OSS的appender类。
log4j.appender.oss=com.alibaba.blink.log.oss.BlinkOssAppender

#Endpoint地址。
log4j.appender.oss.endpoint=oss-cn-hangzhou****.aliyuncs.com

#accessId。
log4j.appender.oss.accessId=U****4ZF  

#accessKey。
log4j.appender.oss.accessKey=hsf****DeLw   

#bucket名称。
log4j.appender.oss.bucket=et**** 

#定义日志存储的子目录。           
log4j.appender.oss.subdir=/luk****/test/

排除指定类的日志,并输出日志至自定义的SLS存储示例

#关闭log4j.logger.org.apache.hadoop包下面的日志输出。
log4j.logger.org.apache.hadoop = OFF

#固定写法。配置Loghub的appender类。       
log4j.appender.loghub = com.alibaba.blink.log.loghub.BlinkLogHubAppender

#仅将ERROR级别日志输出至SLS。
log4j.appender.loghub.Threshold = ERROR

#SLS中的project名称。
log4j.appender.loghub.projectName = blink-errdumpsls-test

#SLS中的logstore名称。
log4j.appender.loghub.logstore = logstore-3

#SLS的Endpoint地址。
log4j.appender.loghub.endpoint = http://cn-shanghai****.sls.aliyuncs.com

#accessKeyId。
log4j.appender.loghub.accessKeyId = Tq****WR

#accessKey。
log4j.appender.loghub.accessKey = MJ****nfVx

修改日志级别为WARN,并关闭指定包下面的日志输出示例

#修改整体日志级别为WARN。
log4j.rootLogger=WARN,file

#关闭log4j.logger.org.apache.hadoop包下面的日志输出。
log4j.logger.org.apache.hadoop = OFF