2017-04-08 9 views
1

Ich verwende eine alte Version von Apache Flink, mit Runtime 2.11 und Flink Core 1.1.2. Ich kann es nicht auf das neuere Apache Flink wegen der Kompatibilitätsprobleme mit anderen Bibliotheken aktualisieren. Ich versuche, die Knotenprotokollierung in der Runtime zu deaktivieren, um die Ausführungszeit zu minimieren. Ich habe versucht, den folgenden Code zu verwenden, aber die Nachrichten angezeigt nethertheless:Apache Flink Logging deaktivieren

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, ich würde gerne wissen, ob es eine Möglichkeit, die Anzahl der Nachrichten innerhalb jeder Phase des Ausführungsplan ausgetauscht extimate.

Antwort

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

können Sie versuchen, diese in Ihre Hauptfunktion:

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

ich einen Zweifel für Ihre Version, aber es versuchen.

+0

Nein, auf meiner Version funktioniert es nicht. Danke trotzdem. – jackb