settrace.java

来自「JAVA 工作指南 可以说是程序员必备的东西哦」· Java 代码 · 共 37 行

JAVA
37
字号
import java.lang.reflect.Field;import static java.lang.System.out;enum TraceLevel { OFF, LOW, MEDIUM, HIGH, DEBUG }class MyServer {    private TraceLevel level = TraceLevel.OFF;}public class SetTrace {    public static void main(String... args) {	TraceLevel newLevel = TraceLevel.valueOf(args[0]);	try {	    MyServer svr = new MyServer();	    Class<?> c = svr.getClass();	    Field f = c.getDeclaredField("level");	    f.setAccessible(true);	    TraceLevel oldLevel = (TraceLevel)f.get(svr);	    out.format("Original trace level:  %s%n", oldLevel);	    if (oldLevel != newLevel) { 		f.set(svr, newLevel);		out.format("    New  trace level:  %s%n", f.get(svr));	    }        // production code should handle these exceptions more gracefully	} catch (IllegalArgumentException x) {	    x.printStackTrace();	} catch (IllegalAccessException x) {	    x.printStackTrace();	} catch (NoSuchFieldException x) {	    x.printStackTrace();	}    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?