Use LogLevel directly instead of the string representation
Bug: 5052143
Change-Id: I01ab0cd8beeb2a402bd4b0901aeed24b916f26c9
diff --git a/src/com/android/tradefed/command/Console.java b/src/com/android/tradefed/command/Console.java
index 397df86..a180b17 100644
--- a/src/com/android/tradefed/command/Console.java
+++ b/src/com/android/tradefed/command/Console.java
@@ -525,22 +525,23 @@
@Override
public void run(CaptureList args) {
// Skip 2 tokens to get past "set" and "log-level-display"
- String logLevel = args.get(2).get(0);
- String currentLogLevel = LogRegistry.getLogRegistry().getGlobalLogDisplayLevel();
- if (LogLevel.getByString(logLevel) != null) {
- LogRegistry.getLogRegistry().setGlobalLogDisplayLevel(logLevel);
+ String logLevelStr = args.get(2).get(0);
+ LogLevel newLogLevel = LogLevel.getByString(logLevelStr);
+ LogLevel currentLogLevel = LogRegistry.getLogRegistry().getGlobalLogDisplayLevel();
+ if (newLogLevel != null) {
+ LogRegistry.getLogRegistry().setGlobalLogDisplayLevel(newLogLevel);
// Make sure that the level was set.
currentLogLevel = LogRegistry.getLogRegistry().getGlobalLogDisplayLevel();
if (currentLogLevel != null) {
- printLine(String.format("Current logging set to '%s'.", currentLogLevel));
+ printLine(String.format("Log level now set to '%s'.", currentLogLevel));
}
} else {
if (currentLogLevel == null) {
- printLine(String.format("Invalid log level '%s'.", logLevel));
+ printLine(String.format("Invalid log level '%s'.", newLogLevel));
} else{
printLine(String.format(
"Invalid log level '%s'; log level remains at '%s'.",
- logLevel, currentLogLevel));
+ newLogLevel, currentLogLevel));
}
}
}
diff --git a/src/com/android/tradefed/log/FileLogger.java b/src/com/android/tradefed/log/FileLogger.java
index 50b9303..2a9f151 100644
--- a/src/com/android/tradefed/log/FileLogger.java
+++ b/src/com/android/tradefed/log/FileLogger.java
@@ -45,14 +45,13 @@
private File mTempLogFile = null;
private BufferedWriter mLogWriter = null;
- @Option(name = "log-level", description = "the minimum log level to log. Must be one of "
- + LogUtil.LOG_LEVEL_LIST + ".")
- private String mLogLevel = LogLevel.DEBUG.getStringValue();
+ @Option(name = "log-level", description = "the minimum log level to log.")
+ private LogLevel mLogLevel = LogLevel.DEBUG;
- @Option(name = "log-level-display", shortName = 'l', description =
- "the minimum log level to display on stdout. Must be one of " + LogUtil.LOG_LEVEL_LIST +
- ".", importance = Importance.ALWAYS)
- private String mLogLevelStringDisplay = LogLevel.ERROR.getStringValue();
+ @Option(name = "log-level-display", shortName = 'l',
+ description = "the minimum log level to display on stdout.",
+ importance = Importance.ALWAYS)
+ private LogLevel mLogLevelDisplay = LogLevel.ERROR;
@Option(name = "log-tag-display", description = "Always display given tags logs on stdout")
private Collection<String> mLogTagsDisplay = new HashSet<String>();
@@ -61,24 +60,6 @@
private StackTraceElement[] mCloseStackFrames = null;
/**
- * Sets the log level filtering for stdout.
- *
- * @param logLevel the {@link LogLevel#getStringValue()} log level to display
- */
- void setLogLevelDisplay(String logLevel) {
- mLogLevelStringDisplay = logLevel;
- }
-
- /**
- * Gets the log level filtering for stdout.
- *
- * @return the {@link String} form of the {@link LogLevel}
- */
- String getLogLevelDisplay() {
- return mLogLevelStringDisplay;
- }
-
- /**
* Adds tags to the log-tag-display list
*
* @param tags collection of tags to add
@@ -116,7 +97,7 @@
@Override
public ILeveledLogOutput clone() {
FileLogger logger = new FileLogger();
- logger.setLogLevelDisplay(mLogLevelStringDisplay);
+ logger.setLogLevelDisplay(mLogLevelDisplay);
logger.setLogLevel(mLogLevel);
logger.addLogTagsDisplay(mLogTagsDisplay);
return logger;
@@ -145,9 +126,8 @@
private void internalPrintLog(LogLevel logLevel, String tag, String message,
boolean forceStdout) {
String outMessage = LogUtil.getLogFormatString(logLevel, tag, message);
- LogLevel displayLevel = LogLevel.getByString(mLogLevelStringDisplay);
if (forceStdout
- || logLevel.getPriority() >= displayLevel.getPriority()
+ || logLevel.getPriority() >= mLogLevelDisplay.getPriority()
|| mLogTagsDisplay.contains(tag)) {
System.out.print(outMessage);
}
@@ -176,7 +156,7 @@
* {@inheritDoc}
*/
@Override
- public String getLogLevel() {
+ public LogLevel getLogLevel() {
return mLogLevel;
}
@@ -184,11 +164,29 @@
* {@inheritDoc}
*/
@Override
- public void setLogLevel(String logLevel) {
+ public void setLogLevel(LogLevel logLevel) {
mLogLevel = logLevel;
}
/**
+ * Sets the log level filtering for stdout.
+ *
+ * @param logLevel the minimum {@link LogLevel} to display
+ */
+ void setLogLevelDisplay(LogLevel logLevel) {
+ mLogLevelDisplay = logLevel;
+ }
+
+ /**
+ * Gets the log level filtering for stdout.
+ *
+ * @return the current {@link LogLevel}
+ */
+ LogLevel getLogLevelDisplay() {
+ return mLogLevelDisplay;
+ }
+
+ /**
* Returns the path representation of the file being logged to by this file logger
*/
String getFilename() throws SecurityException {
diff --git a/src/com/android/tradefed/log/ILeveledLogOutput.java b/src/com/android/tradefed/log/ILeveledLogOutput.java
index c91db34..bed4c4d 100644
--- a/src/com/android/tradefed/log/ILeveledLogOutput.java
+++ b/src/com/android/tradefed/log/ILeveledLogOutput.java
@@ -36,16 +36,16 @@
/**
* Gets the minimum log level to display.
*
- * @return the {@link String} form of the {@link LogLevel}
+ * @return the current {@link LogLevel}
*/
- public String getLogLevel();
+ public LogLevel getLogLevel();
/**
* Sets the minimum log level to display.
*
- * @param logLevel to display; must be recognized by {@link LogLevel#getStringValue()}
+ * @param logLevel the {@link LogLevel} to display
*/
- public void setLogLevel(String logLevel);
+ public void setLogLevel(LogLevel logLevel);
/**
* Grabs a snapshot stream of the log data.
diff --git a/src/com/android/tradefed/log/ILogRegistry.java b/src/com/android/tradefed/log/ILogRegistry.java
index d918609..7249734 100644
--- a/src/com/android/tradefed/log/ILogRegistry.java
+++ b/src/com/android/tradefed/log/ILogRegistry.java
@@ -30,9 +30,9 @@
/**
* Set the log level display for the global log
*
- * @param logLevel the {@link String} form of the {@link LogLevel} to use
+ * @param logLevel the {@link LogLevel} to use
*/
- public void setGlobalLogDisplayLevel(String logLevel);
+ public void setGlobalLogDisplayLevel(LogLevel logLevel);
/**
* Set the log tags to display for the global log
@@ -42,9 +42,9 @@
/**
* Returns current log level display for the global log
*
- * @return logLevel the {@link String} form of the {@link LogLevel} to use
+ * @return logLevel the {@link LogLevel} to use
*/
- public String getGlobalLogDisplayLevel();
+ public LogLevel getGlobalLogDisplayLevel();
/**
* Registers the logger as the instance to use for the current thread.
diff --git a/src/com/android/tradefed/log/LogRegistry.java b/src/com/android/tradefed/log/LogRegistry.java
index 07b4c1d..e38912d 100644
--- a/src/com/android/tradefed/log/LogRegistry.java
+++ b/src/com/android/tradefed/log/LogRegistry.java
@@ -78,7 +78,7 @@
* {@inheritDoc}
*/
@Override
- public void setGlobalLogDisplayLevel(String logLevel) {
+ public void setGlobalLogDisplayLevel(LogLevel logLevel) {
mGlobalLogger.setLogLevelDisplay(logLevel);
}
@@ -94,7 +94,7 @@
* {@inheritDoc}
*/
@Override
- public String getGlobalLogDisplayLevel() {
+ public LogLevel getGlobalLogDisplayLevel() {
return mGlobalLogger.getLogLevelDisplay();
}
@@ -159,7 +159,7 @@
@Override
public void printLog(LogLevel logLevel, String tag, String message) {
ILeveledLogOutput log = getLogger();
- LogLevel currentLogLevel = LogLevel.getByString(log.getLogLevel());
+ LogLevel currentLogLevel = log.getLogLevel();
if (logLevel.getPriority() >= currentLogLevel.getPriority()) {
log.printLog(logLevel, tag, message);
}
diff --git a/src/com/android/tradefed/log/StdoutLogger.java b/src/com/android/tradefed/log/StdoutLogger.java
index f98e232..02a9a25 100644
--- a/src/com/android/tradefed/log/StdoutLogger.java
+++ b/src/com/android/tradefed/log/StdoutLogger.java
@@ -32,7 +32,7 @@
@Option(name="log-level", description="minimum log level to display. Must be one of " +
LogUtil.LOG_LEVEL_LIST +".", importance = Importance.ALWAYS)
- private String mLogLevel = LogLevel.INFO.getStringValue();
+ private LogLevel mLogLevel = LogLevel.INFO;
/**
* {@inheritDoc}
@@ -52,14 +52,14 @@
/**
* {@inheritDoc}
*/
- public void setLogLevel(String logLevel) {
+ public void setLogLevel(LogLevel logLevel) {
mLogLevel = logLevel;
}
/**
* {@inheritDoc}
*/
- public String getLogLevel() {
+ public LogLevel getLogLevel() {
return mLogLevel;
}
diff --git a/tests/src/com/android/tradefed/config/ConfigurationFactoryTest.java b/tests/src/com/android/tradefed/config/ConfigurationFactoryTest.java
index 090112a..e5b6ee7 100644
--- a/tests/src/com/android/tradefed/config/ConfigurationFactoryTest.java
+++ b/tests/src/com/android/tradefed/config/ConfigurationFactoryTest.java
@@ -126,7 +126,7 @@
IConfiguration config = mFactory.createConfigurationFromArgs(new String[] {TEST_CONFIG,
"--log-level", LogLevel.VERBOSE.getStringValue()});
ILeveledLogOutput logger = config.getLogOutput();
- assertEquals(LogLevel.VERBOSE.getStringValue(), logger.getLogLevel());
+ assertEquals(LogLevel.VERBOSE, logger.getLogLevel());
}
/**
diff --git a/tests/src/com/android/tradefed/log/LogRegistryTest.java b/tests/src/com/android/tradefed/log/LogRegistryTest.java
index 2f998f3..801d3db 100644
--- a/tests/src/com/android/tradefed/log/LogRegistryTest.java
+++ b/tests/src/com/android/tradefed/log/LogRegistryTest.java
@@ -73,7 +73,7 @@
ILeveledLogOutput mockLogger = EasyMock.createMock(ILeveledLogOutput.class);
mLogRegistry.registerLogger(mockLogger);
- EasyMock.expect(mockLogger.getLogLevel()).andReturn(LogLevel.VERBOSE.getStringValue());
+ EasyMock.expect(mockLogger.getLogLevel()).andReturn(LogLevel.VERBOSE);
mockLogger.printLog(LogLevel.VERBOSE, LOG_TAG, testMessage);
EasyMock.replay(mockLogger);
@@ -91,7 +91,7 @@
mLogRegistry.registerLogger(mockLogger);
// Setting LogLevel == ERROR will let everything print
- EasyMock.expect(mockLogger.getLogLevel()).andReturn(LogLevel.ERROR.getStringValue());
+ EasyMock.expect(mockLogger.getLogLevel()).andReturn(LogLevel.ERROR);
EasyMock.replay(mockLogger);
mLogRegistry.printLog(LogLevel.VERBOSE, LOG_TAG, testMessage);
@@ -132,10 +132,10 @@
}
// first thread calls
- EasyMock.expect(mockLogger.getLogLevel()).andReturn(LogLevel.VERBOSE.getStringValue());
+ EasyMock.expect(mockLogger.getLogLevel()).andReturn(LogLevel.VERBOSE);
mockLogger.printLog(LogLevel.VERBOSE, LOG_TAG, testMessage);
// second thread should inherit same logger
- EasyMock.expect(mockLogger.getLogLevel()).andReturn(LogLevel.ERROR.getStringValue());
+ EasyMock.expect(mockLogger.getLogLevel()).andReturn(LogLevel.ERROR);
mockLogger.printLog(LogLevel.ERROR, LOG_TAG, testMessage);
EasyMock.replay(mockLogger);