Java 日志记录
外观
本书是一个未完成的草稿或提纲。 您可以帮助开发作品,或者您可以在项目室寻求帮助。 |
(此处有精美的 TimePlot 图像)
日志的用途
- 允许程序向外部程序指示紧急情况,然后这些程序可以调查并采取行动。
- 提供带时间戳的标记,用于性能分析。
- 提供有关正在处理的内容的信息,以便以后进行取证分析。
- 事件的时间戳。
编程中的日志记录是代码可能在生成信息之前几年就已写好的领域之一,并且您几乎不知道那时可能需要知道什么。如果您能预见,您可以在那时就绕过它。
需要一个基于维基的参考来帮助程序员创建更好的日志。重点不是全面的概述,而是根据场景使用 slf4j 和 logback/java.util.logging.Logger 的“最佳实践”方法。
- 从 http://slf4j.org/download.html 下载并解压缩 SLF4J 的最新版本
- 将 slf4j-api-X.Y.Z.jar 和 slf4j-simple-X.Y.Z.jar 放置到您的类路径中。
- 使用
Logger log = LoggerFactory.getLogger(this.getClass())
和log.info("At {} with {}", a, b);
来记录信息。
((示例代码))
- 带有打印语句的示例 Java 程序。
- 上述 Java 程序的输出。
Java 新手学习的第一件事是使用 System.out.println("....")
来查看他们程序的“内部”,这经常导致程序每次运行时打印大量信息。有些信息非常重要,需要人工操作,有些只是库正常工作的微不足道的指示,有些包含堆栈跟踪。对于有多个线程同时运行的复杂程序,单个消息甚至可能混合在一起,以至于“消息 1”和“消息 2”变成“MMessagessag 1e 2”。您可能还需要将日志保存在文件中,而不是 System.out(对于某些平台,甚至无法使用)。
- 与之前相同的示例 Java 程序,但使用 slf4j 语句。
- 生成的日志文件。