package org.intellij.sonar.console;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class StreamGobbler extends Thread {
private final InputStream is;
private final SonarConsole console;
private final ConsoleLogLevel logLevel;
public StreamGobbler(InputStream is,SonarConsole sonarConsole,ConsoleLogLevel logLevel) {
this.is = is;
this.console = sonarConsole;
this.logLevel = logLevel;
}
public void run() {
try {
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
while (!isInterrupted() && (line = br.readLine()) != null) {
console.log(line,logLevel);
}
} catch (IOException ignore) {
// do nothing if stream closed
}
}
}