exception – 如何在java中检索有用的系统信息?

Java应用程序中哪些系统信息很有用 – 特别是在跟踪异常或其他问题时?

我正在考虑有关异常,java / os信息,内存/对象消耗,io信息,环境/ enchodings等的详细信息.

解决方法

除了显而易见的 – 异常堆栈跟踪 – 您可以获得的信息越多越好.因此,您应该获得所有系统属性以及环境变量.此外,如果您的应用程序有一些设置,请获取所有值.当然你应该将所有这些信息都放到你的日志文件中,为了简单起见我使用了System.out她:
System.out.println("----Java System Properties----");       
System.getProperties().list(System.out);

System.out.println("----System Environment Variables----");
Map<String,String> env = System.getenv();
Set<String> keys = env.keySet();
for (String key : keys) {
    System.out.println(key + "=" + env.get(key));
}

对于大多数情况,这将是“太多”信息,但对于大多数情况,堆栈跟踪就足够了.一旦你遇到一个棘手的问题,你会很高兴你拥有所有“额外”的信息

相关文章

应用场景 C端用户提交工单、工单创建完成之后、会发布一条工...
线程类,设置有一个公共资源 package cn.org.chris.concurre...
Java中的数字(带有0前缀和字符串)
在Java 9中使用JLink的目的是什么?
Java Stream API Filter(过滤器)
在Java中找到正数和负数数组元素的数量