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

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

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...