JVM 常规诊断库:jdiagnostics

jopen 11年前

jdiagnostics 是一个检查 JVM 状态和构建处理支持的常规库,可以很容易的诊断类路径问题,资源,服务加载,版本控制,XML 解析器等诸如此类的东西。jdiagnostics 是个完全独立的,不需要任何依赖,而且最基础的构建基础应用的库。

如何使用?

基础版本

LOG.info(new DefaultQuery().call());

Or:

String report = String.valueOf(new DefaultQuery().call());

任何查询可单独使用:

LOG.info(new ThrowableQuery(t).call());

如果你有一个例外,DefaultQuery有一个实用的构造函数:

try {      ...  } catch (MyException e) {      try {          report(new DefaultQuery(e).call());      } finally {          throw e;      }  }

如果你有一个Web服务,例如 spring-mvc:

@Controller  public class DebugController {      @ResponseBody      @RequestMapping("/jdiagnostics")      public String  jdiagnostics() {          return String.valueOf(new DefaultQuery().call());      }  }

Or, in Spring MVC, a HandlerExceptionResolver, etc.

For more advanced usage, you can build a CompositeQuery:

DefaultQuery query = new DefaultQuery();  query.add(new ThrowableQuery(e));  query.add(new MySystemStatusQuery(...));  String dump = String.valueOf(query.call());


 

项目主页:http://www.open-open.com/lib/view/home/1389771415414