2017-04-08 9 views
1

私はApache Flinkの旧バージョンを使用しています。ランタイム2.11とFlink Core 1.1.2を使用しています。他のライブラリとの互換性の問題により、新しいApache Flinkにアップグレードすることはできません。私は、実行時間を最小限に抑えるために、ランタイムでノードロギングを無効にしようとしています。私は、次のコードを使用しようとしましたが、メッセージがnethertheless表示されます。Apache Flink Loggingを無効にする

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); 

Plusは、私はメッセージの数は、実行計画の各フェーズ内で交換extimateする方法があるかどうかを知りたいのです。

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

私はあなたのバージョンについて疑問を持っていますが、それを試してみる:

答えて

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

あなたは自分のメイン機能でこれを試すことができます。

+0

いいえ、私のバージョンでは動作しません。とにかくありがとう。 – jackb

関連する問題