simplify log level config

This commit is contained in:
金戟 2021-04-04 00:10:56 +08:00
parent 844323af3a
commit f5475aa18e
4 changed files with 26 additions and 44 deletions

View File

@ -26,8 +26,7 @@ public class DiagnoseUtil {
private static void setupDiagnose(AnnotationNode an, String fieldDiagnose) {
LogLevel level = AnnotationUtil.getAnnotationParameter(an, fieldDiagnose, null, LogLevel.class);
if (level != null) {
LogUtil.setLevel(level == LogLevel.ENABLE ? LogUtil.LogLevel.LEVEL_DIAGNOSE :
(level == LogLevel.VERBOSE ? LogUtil.LogLevel.LEVEL_VERBOSE : LogUtil.LogLevel.LEVEL_MUTE));
LogUtil.setLevel(level);
}
}

View File

@ -1,5 +1,6 @@
package com.alibaba.testable.agent.util;
import com.alibaba.testable.core.model.LogLevel;
import com.alibaba.testable.core.model.MockScope;
import com.alibaba.testable.core.util.LogUtil;
@ -20,13 +21,13 @@ public class GlobalConfig {
public static boolean setLogLevel(String level) {
if (level.equals(MUTE)) {
LogUtil.setDefaultLevel(LogUtil.LogLevel.LEVEL_MUTE);
LogUtil.setDefaultLevel(LogLevel.DISABLE);
return true;
} else if (level.equals(DEBUG)) {
LogUtil.setDefaultLevel(LogUtil.LogLevel.LEVEL_DIAGNOSE);
LogUtil.setDefaultLevel(LogLevel.ENABLE);
return true;
} else if (level.equals(VERBOSE)) {
LogUtil.setDefaultLevel(LogUtil.LogLevel.LEVEL_VERBOSE);
LogUtil.setDefaultLevel(LogLevel.VERBOSE);
return true;
}
return false;

View File

@ -3,22 +3,26 @@ package com.alibaba.testable.core.model;
/**
* @author flin
*/
public enum LogLevel {
/**
* Be quiet
* Mute
*/
DISABLE,
DISABLE(0),
/**
* Print diagnose logs
* Warn only
*/
ENABLE,
DEFAULT(1),
/**
* Print verbose log
* Show diagnose messages
*/
VERBOSE
ENABLE(2),
/**
* Show detail progress logs
*/
VERBOSE(3);
public int level;
LogLevel(int level) {
this.level = level;
}
}

View File

@ -1,36 +1,14 @@
package com.alibaba.testable.core.util;
import com.alibaba.testable.core.model.LogLevel;
/**
* @author flin
*/
public class LogUtil {
public enum LogLevel {
/**
* Mute
*/
LEVEL_MUTE(0),
/**
* Warn only
*/
LEVEL_WARN(1),
/**
* Show diagnose messages
*/
LEVEL_DIAGNOSE(2),
/**
* Show detail progress logs
*/
LEVEL_VERBOSE(3);
int level;
LogLevel(int l) {
level = l;
}
}
private static LogLevel defaultLogLevel = LogLevel.LEVEL_WARN;
private static LogLevel currentLogLevel = LogLevel.LEVEL_WARN;
private static LogLevel defaultLogLevel = LogLevel.DEFAULT;
private static LogLevel currentLogLevel = LogLevel.DEFAULT;
public static void verbose(String msg, Object... args) {
if (isVerboseEnabled()) {
@ -39,13 +17,13 @@ public class LogUtil {
}
public static void diagnose(String msg, Object... args) {
if (currentLogLevel.level >= LogLevel.LEVEL_DIAGNOSE.level) {
if (currentLogLevel.level >= LogLevel.ENABLE.level) {
System.out.println(String.format("[DIAGNOSE] " + msg, args));
}
}
public static void warn(String msg, Object... args) {
if (currentLogLevel.level >= LogLevel.LEVEL_WARN.level) {
if (currentLogLevel.level >= LogLevel.DEFAULT.level) {
System.err.println(String.format("[WARN] " + msg, args));
}
}
@ -58,7 +36,7 @@ public class LogUtil {
* a pre-check method for reduce verbose parameter calculation
*/
public static boolean isVerboseEnabled() {
return currentLogLevel.level >= LogLevel.LEVEL_VERBOSE.level;
return currentLogLevel.level >= LogLevel.VERBOSE.level;
}
public static void setLevel(LogLevel level) {