App开发过程中,日志记录是其中一个重要步骤,尤其是需要分析生产环境中bug和其他意外事件时,会格外发现日志记录的重要性。日志记录操作很简单,不同的日志记录框架、常见陷阱和最佳实践都不一样,所以需要成熟的开发人员分别进行了解。下面我们列举之前剩余的两种日志。
垃圾收集器日志
垃圾回收器提供自动内存管理,它跟踪在JVM内实例化的所有对象,并移除不再使用的对象。垃圾收集器的任务非常复杂,能实现它的作用的有几种不同的垃圾收集器。正常情况下,Java中的垃圾回收过程非常高效。但是,随着应用程序处理高负载或使用许多复杂的对象结构越来越多,应用程序的性能就会慢慢降低,尤其是当垃圾收集器需要花费越来越多的时间来管理可用内存时。垃圾收集器日志为您提供分析所有垃圾收集器活动的必要信息。一般默认情况下,垃圾收集器日志属于被停用的状况,需要一组命令行属性激活。
除了我们之前提到的由JVM或在JVM中运行的应用程序编写的日志,开发者还应该熟悉操作系统所写的日志。虽然一般Java开发人员可能永远不会自己编写这些日志。但是,操作系统会将某些事件写入这些日志。作为部署的一部分其他应用程序也可以这样做。因此,系统日志是一个了解外部事件的好地方。如果你在Windows上运行你的应用程序,这是事件日志。在Linux上,你就应该知道系统日志服务及其后继者。