Set HTSJDK log level
This commit is contained in:
parent
2b19e765d7
commit
2d06f33227
|
|
@ -25,6 +25,7 @@
|
||||||
|
|
||||||
package org.broadinstitute.gatk.utils.commandline;
|
package org.broadinstitute.gatk.utils.commandline;
|
||||||
|
|
||||||
|
import htsjdk.samtools.util.Log;
|
||||||
import org.apache.log4j.FileAppender;
|
import org.apache.log4j.FileAppender;
|
||||||
import org.apache.log4j.Level;
|
import org.apache.log4j.Level;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
@ -279,30 +280,43 @@ public abstract class CommandLineProgram {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* this function takes the logger level passed in on the command line and uses it to set the level of the logger
|
* This function takes the logger level passed in on the command line and uses it to set the level of the GATK and HTSJDK loggers.
|
||||||
|
* Caveat: The HTSJDK logger level can only be set to DEBUG, INFO, WARN or ERROR. A command line FATAL or OFF will set the HTSJDK logger level to ERROR.
|
||||||
|
*
|
||||||
* @throws ArgumentException if the logging level is not valid (DEBUG, INFO, WARN, ERROR, FATAL, OFF)
|
* @throws ArgumentException if the logging level is not valid (DEBUG, INFO, WARN, ERROR, FATAL, OFF)
|
||||||
*/
|
*/
|
||||||
private void setupLoggerLevel() {
|
private void setupLoggerLevel() {
|
||||||
// set the default logger level
|
// set the default logger level
|
||||||
Level par;
|
Level gatkLevel;
|
||||||
|
Log.LogLevel htsjdkLevel;
|
||||||
if (logging_level.toUpperCase().equals("DEBUG")) {
|
if (logging_level.toUpperCase().equals("DEBUG")) {
|
||||||
par = Level.DEBUG;
|
gatkLevel = Level.DEBUG;
|
||||||
|
htsjdkLevel = Log.LogLevel.DEBUG;
|
||||||
} else if (logging_level.toUpperCase().equals("INFO")) {
|
} else if (logging_level.toUpperCase().equals("INFO")) {
|
||||||
par = Level.INFO;
|
gatkLevel = Level.INFO;
|
||||||
|
htsjdkLevel = Log.LogLevel.INFO;
|
||||||
} else if (logging_level.toUpperCase().equals("WARN")) {
|
} else if (logging_level.toUpperCase().equals("WARN")) {
|
||||||
par = Level.WARN;
|
gatkLevel = Level.WARN;
|
||||||
|
htsjdkLevel = Log.LogLevel.WARNING;
|
||||||
} else if (logging_level.toUpperCase().equals("ERROR")) {
|
} else if (logging_level.toUpperCase().equals("ERROR")) {
|
||||||
par = Level.ERROR;
|
gatkLevel = Level.ERROR;
|
||||||
|
htsjdkLevel = Log.LogLevel.ERROR;
|
||||||
} else if (logging_level.toUpperCase().equals("FATAL")) {
|
} else if (logging_level.toUpperCase().equals("FATAL")) {
|
||||||
par = Level.FATAL;
|
gatkLevel = Level.FATAL;
|
||||||
|
htsjdkLevel = Log.LogLevel.ERROR;
|
||||||
} else if (logging_level.toUpperCase().equals("OFF")) {
|
} else if (logging_level.toUpperCase().equals("OFF")) {
|
||||||
par = Level.OFF;
|
gatkLevel = Level.OFF;
|
||||||
|
htsjdkLevel = Log.LogLevel.ERROR;
|
||||||
} else {
|
} else {
|
||||||
// we don't understand the logging level, let's get out of here
|
// we don't understand the logging level, let's get out of here
|
||||||
throw new ArgumentException("Unable to match: " + logging_level + " to a logging level, make sure it's a valid level (DEBUG, INFO, WARN, ERROR, FATAL, OFF)");
|
throw new ArgumentException("Unable to match: " + logging_level + " to a logging level, make sure it's a valid level (DEBUG, INFO, WARN, ERROR, FATAL, OFF)");
|
||||||
}
|
}
|
||||||
|
|
||||||
Logger.getRootLogger().setLevel(par);
|
// Set GATK log level
|
||||||
|
Logger.getRootLogger().setLevel(gatkLevel);
|
||||||
|
|
||||||
|
// Set HTSJDK log level
|
||||||
|
Log.setGlobalLogLevel(htsjdkLevel);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getVersionNumber() {
|
public static String getVersionNumber() {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue