如何在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));
}
在大多数情况下,这将是“太多”的信息,但在大多数情况下,堆栈跟踪就足够了。 一旦你遇到棘手的问题,你会很高兴你拥有所有“额外”信息
查看Javadoc for System.getProperties()
,它记录了每个JVM中保证存在的属性。
对于纯Java应用程序:
System.getProperty("org.xml.sax.driver")
System.getProperty("java.version")
System.getProperty("java.vm.version")
System.getProperty("os.name")
System.getProperty("os.version")
System.getProperty("os.arch")
链接地址: http://www.djcxy.com/p/2303.html
上一篇: How to retrieve useful system information in java?
下一篇: Is there a better way to deploy web applications using Visual Studio 2010?