簡體   English   中英

設置 Apache Storm 和 Flink 日志級別以顯示調試消息

[英]Set Apache Storm and Flink log level to display debug messages

所以我正在構建一個帶有 Storm 和 Flink 應用程序的 JAR,我在其中記錄如下消息:

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

// ...

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

// ...

LOG.debug("...");
LOG.info("...");
LOG.error("...");

然后我將 JAR 傳遞給.../bin/storm.../bin/flink腳本,一切正常,但日志級別設置為INFO ,我還想僅顯示來自我的 package 的DEBUG消息。

我嘗試了幾件事,但我覺得我只是在嘗試從互聯網上隨機做的事情,因為我找不到關於如何獲得這個的權威參考資料,而且我很難理解日志設施令人難以置信的令人困惑的 state對於 Java...

我在詢問 Storm 和 Flink,因為我懷疑我的問題的根源是相同的,但我可能錯了。 如果我沒有提供一個最小的例子,我也很抱歉,但這里真的沒有什么可提供的。

如果您需要更多詳細信息,請告訴我。

對於 Storm,您的日志配置位於storm/log4j2/worker.xml中。 這是一個 log4j2 配置文件,因此您可以通過查看此處的 log4j2 文檔了解有哪些選項https://logging.apache.org/log4j/2.x/manual/configuration.ZFC336EZ888888

我對 Flink 不太熟悉,但我懷疑它是相似的。 是 Flink 的頁面,上面提到你的conf目錄中應該有一個logback.xml文件。

為了修改日志級別以及哪些類在 Flink 集群上登錄,請適應

  • FLINK_HOME/conf/log4j.properties如果您使用的是log4j
  • FLINK_HOME/conf/logback.xml如果您使用的是logback

在啟動 Flink 集群之前。

部署 Flink 集群時會讀取這些文件。 請注意,這些設置不能在運行時更改,除非您將 Flink 的log4j記錄器替換為支持動態加載設置的log4j2

在這種情況下:

然后我將 JAR 傳遞給.../bin/storm.../bin/flink腳本,一切正常,但日志級別設置為INFO ,我還想僅顯示來自我的 package 的DEBUG消息。

我最終得到了以下次優解決方案。

風暴

由於未知原因,更改/path/to/storm/log4j2/worker.xml文件無效,因此我需要以編程方式執行操作:

import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.core.config.Configurator;

// ...

Configurator.setLevel("my.package", Level.ALL);

弗林克

/path/to/flink/conf/log4j.properties添加一行就足夠了:

log4j.logger.my.package=ALL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM