2017-04-08 233 views
1

我使用的是運行時版本2.11和Flink Core 1.1.2的舊版本Apache Flink。由於與其他庫的兼容性問題,我無法將其升級到較新的Apache Flink。我試圖禁用運行時的節點日誌記錄,以儘量減少執行時間。我試着用下面的代碼,但消息顯示nethertheless:禁用Apache Flink日誌記錄

Log4jLoggerAdapter logger = (Log4jLoggerAdapter)LoggerFactory 
    .getLogger(JobManager.class); 
Field loggerField = Log4jLoggerAdapter.class.getDeclaredField("logger"); 
loggerField.setAccessible(true); 
Logger loggerObject = (Logger)loggerField.get(logger); 


Field repoField = Category.class.getDeclaredField("repository"); 
repoField.setAccessible(true); 
LoggerRepository repoObject = (LoggerRepository)repoField.get(loggerObject); 

repoObject.setThreshold(Level.OFF); 

另外,我想知道如果有extimate消息的數量執行計劃的每個階段中交換的方式。

回答

0
public static ExecutionEnvironment setupLocalEnvironment() { 
    Configuration conf = new Configuration(); 
     env = new LocalEnvironment(conf); 
     env.getConfig().disableSysoutLogging(); 
     return env; 
} 
0

你可以試試這個在您的主要功能:

org.apache.log4j.BasicConfigurator.configure(new NullAppender()); 

我對您的版本一個疑問,但不妨一試。

+0

不,在我的版本上不起作用。不管怎麼說,還是要謝謝你。 – jackb