加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

flink中打log的方法

(2017-06-07 07:23:40)
标签:

flink

log

例子

分类: 大数据处理

       java sdk中自带有Log工具,比如java.util.logging.Logger,还有第三方提供的Log工具比如org.slf4j.Logger。是不是在flink开发过程中随便挑选哪个Logger都没有关系,答案是否定的。

       Flink程序开发最早使用java.util.logging.Logger时,程序可以在IDE中打印出Log信息,但是当jar包部署到flink服务时,flink管理界面中Log始终打印不出来。但是Flink服务启动自身的log信息又是显示在管理界面中的,所以查阅Flink的源码,发现一些有用的信息,比如:

https://github.com/apache/flink/blob/f98a5c733b8227edbe53ad1fbdab7297d7ceb2b9/flink-runtime/src/main/java/org/apache/flink/runtime/webmonitor/WebMonitorUtils.java

       其中涉及到Log的代码如下:

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

private static final Logger LOG = LoggerFactory.getLogger(WebMonitorUtils.class);

LOG.info("Determined location of JobManager log file: {}", logFilePath);

        所以我们需要和Flink源码采用同样的方式使用Log信息。尝试后发现Flink管理界面能够正常打印Log信息了。

       关于Log打印的小提示:

1、如果Log埋点是在static函数中,则使用xx.class的方法,比如:

final Logger log = LoggerFactory.getLogger(DataStreamMain.class);

 

2、如果Log埋点不是在static函数中,则使用getclass()的方法,比如:

final Logger log = LoggerFactory.getLogger(getClass());
log.error("executeSqlQuery error: ", e);

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有