
日志记录是软件开发中的重要主题,尤其是当您需要分析生产环境中的错误和其他意外事件时. 通常,实现日志记录很容易. 但是,正如您可能经历的那样,日志记录比看起来要复杂得多. 这就是为什么您可以在博客上找到很多关于它的文章.
作为一名经验丰富的开发人员,您应该了解可用的各种日志记录框架日志分类大全,常见的缺陷和最佳实践,当然还要了解常见部署方案中使用的日志文件的类型. 在本文中,我将重点介绍最后一部分. 我将告诉您几乎在所有开发或生产环境中都可以找到的4种不同类型的日志.
应用程序日志
让我们从最常见的日志类型开始: 应用程序日志.
大多数开发人员在谈论日志记录时都会想到此日志. 原因很简单. 他们的应用程序生成此日志. 它包含各种错误消息,警告或应用程序编写的其他事件. 这些消息可以提供与特定用例有关的高级逻辑信息. 典型示例为:
用例中发生的异常的堆栈跟踪. 关于外部系统响应时间慢的警告消息. 用例触发或完成的信息. 应用程序日志可能是本文中提到的最重要的日志类型,因为您可以完全控制它. 这意味着您有责任编写消息.

每条日志消息都需要提供有用的信息,以帮助您了解应用程序的行为.
Web和应用程序服务器日志
下一个有趣且重要的类型是您的Web或应用程序服务器的日志.
大多数企业应用程序已部署到Web服务器(例如Apache Tomcat)或应用程序服务器(例如Wildfly或WebSphere Liberty). 它们的日志文件为您提供有关技术问题和服务器当前状态的信息.
每个服务器的配置和功能都不同,在本文中我将不作详细解释. 但是请确保检查服务器的文档并进行相应配置. 从服务器获取正确的信息可以在识别潜在问题和服务器故障之间有所不同.
垃圾收集器日志
垃圾收集器提供自动内存管理. 它跟踪在JVM中实例化的所有对象,并删除不再使用的对象. 这是一项非常复杂的任务,并且有几种不同的垃圾收集器实现方式.

通常,Java中的垃圾回收过程非常有效. 它非常高效,并且许多应用程序都使用默认实现及其标准配置. 但是日志分类大全,如果您的应用程序必须处理高负载或使用大量复杂的对象结构,则应用程序的性能可能会随时间下降. 当垃圾收集器花费越来越多的时间来管理可用内存时,通常会发生这种情况. 垃圾收集器日志为您提供了分析所有垃圾收集器活动的必要信息.
默认情况下,禁用垃圾收集器日志. 您需要使用一组命令行属性来激活它.
如果您使用的是JDK 8或更早版本,则可以使用以下属性进行操作:
-XX: + PrintGCDetails -Xloggc:
从JDK 9开始,您需要使用以下属性:
class =“ prettyprint” -Xlog: gc *: file =
使用这些命令行属性启动应用程序后,垃圾收集器将编写有关所有操作的详细信息. 不幸的是,生成的垃圾收集器日志的内容和格式取决于JVM的供应商和版本以及垃圾收集算法.

系统日志
所有先前讨论的日志均由JVM或JVM中运行的应用程序编写. 除了这些日志之外,您还应该熟悉操作系统编写的日志.
作为Java开发人员,您很可能永远不会自己编写这些日志. 但是您的操作系统会将某些事件写入这些日志. 部署中的其他应用程序也可以这样做. 因此,系统日志是了解外部事件的好地方.
如果在Windows上运行该应用程序,则这是事件日志. 在Linux上,您应该了解syslog服务及其后续产品.
Windows wvent日志
Windows事件日志包含类别应用程序,安全性,设置,系统和转发事件中的重要硬件和软件事件.
尤其是,应用程序和系统类别的事件有助于了解在应用程序外部发生的事件. 应用程序类别包含本地Windows系统上运行的其他应用程序报告的事件. 与硬件和驱动程序有关的事件属于系统类别.

您可以在本文中了解有关Windows事件日志的更多信息.
Linux系统日志记录
Linux的syslog服务及其后续版本提供了高度可配置的日志记录系统. 它将由应用程序或操作系统触发的消息写到文件中,或将它们发送到远程系统.
使用的日志记录服务及其配置取决于您的Linux发行版. 请查看文档以获取有关特定操作系统的更多信息.
结论
记录是一个重要的主题,涉及许多不同方面. 在本文中,我总结了Java开发人员应该了解的4条重要日志:
应用程序日志是最明显的一个. 它是由您的应用程序编写的,您对其内容负责. 如果将应用程序部署到Web或应用程序服务器,则还需要了解服务器提供的日志. 如果您需要分析性能问题,则垃圾收集器日志可以提供重要信息. 您可以检查系统日志,以获取可能影响您的应用程序并导致服务事件的所有外部事件的概述.
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-164067-1.html
包装好的话里面干燥不可能生虫
土地谁说了算