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());