I'm developing a small console app using Selenium and I need to turn off all logs from it.
I have tried phantomJSDriver.setLogLevel(Level.OFF);
but it does not work.
I need help.
How do I disable all logs in console application that is using Selenium and Phantomjs (GhostDriver)?
PhantomJSDriverService service = new PhantomJSDriverService.Builder()
.usingPhantomJSExecutable(new File(VariableClass.phantomjs_file_path))
.withLogFile(null)
.build();
This one works for me.
DesiredCapabilities dcap = new DesiredCapabilities();
String[] phantomArgs = new String[] {
"--webdriver-loglevel=NONE"
};
dcap.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS, phantomArgs);
PhantomJSDriver phantomDriver = new PhantomJSDriver(dcap);
Looking at the source files of org.openqa.selenium.phantomjs.PhanomJSDriverService while debugging, I discovered that it's actually ignoring documented log levels for ghostdriver itself. Doing this disables the bulk of ghostdriver output:
Logger.getLogger(PhantomJSDriverService.class.getName()).setLevel(Level.OFF);
Seems that GhostDriver should be be updated to not log when
phantomJSCaps.setCapability(PhantomJSDriverService.PHANTOMJS_GHOSTDRIVER_CLI_ARGS, "--webdriver-loglevel=NONE");
is used.