Java中的日志框架
程序在开发完成后会被不同系统环境用户使用,在使用过程中可能会出现各类异常,程序出现的技术错误信息是提供给开发人员定位问题并解决的。将这些信息直接展示给用户看是没有任何意义的。这时,可以将用户执行的所有操作和程序运行过程记录到日志中,开发人员可以通过分析日志内容,快速定位并诊断问题。
综上所诉,对于一个应用程序来说,日志记录是必不可少的。它类似于生活中的日记,可以用来记录用户操作,系统运行状态等,是系统优化的重要组成部分。日志的主要用途如下:
- 安全追踪:
辅助排查和定位问题,优化程序运行性能。
- 状态监控:
通过日志分析,可以监控系统的运行状态。
- 安全审计:
主要体现在安全上,可以发现非授权操作。
Java中存在多种日志框架,目前最常用的日志框架包括以下几种
- Log4j:
Apache Log4j 是基于Java的日志记录工具,现在是Apache软件基金会的一个项目。Lof4j是几种Java日志框架之一。
- Commons Logging:
Apache基金会所使项目,是一套Java日志接口。
- SLF4J:
类似于Commons Logging,是一套简易Java日志门面,本身并无日志的实现。
- Logback:
一套日志组件的属性(使用SLF4J阵营)。
- JUL(Java Util Logging):
自Java1.4以来的官方日志实现。
- Log4j 2:
Apache重写Log4j 1.x,成立的新的项目Log4j 2。Log4j 2 是Apache开发的一款升级产品。
Log4j 2 是一款非常优秀的日志框架,Log4j 2 与 Log4j 相比发生了很大变化,日志的吞吐量及性能有很大的提升, 解决了死锁的问题,配置更加简单灵活,它不兼容Log4j。Log4j 2 具有Logback的所有特性。
Log4j 2 下载
要使用Log4j 2,需要下载Log4j 2 的.jar文件。进入Log4j官网:Log4j – Download Apache Log4j™ 2下载Log4j 2 压缩文件按照下图指引走。
Log4j 2 配置
下载完成后将压缩包解压,然后将log4j-1.2-api-2.19.0.jar和log4j-core-2.19.0.jar两个jar包导入项目中,具体操作如下:
- z在项目文件src文件夹中创建lib文件夹,将log4j-1.2-api-2.19.0.jar和log4j-core-2.19.0.jar保存在其中。
- 在InteIIiJ IDEA开发环境中,执行"File"-->"Project Structure"命令打开"Project Structure"(项目结构)对话框,选择"Modules"项目,在右侧窗格选择"Dependencies"选项卡后,点击右侧"+"按钮,打开菜单中执行"JARs or directories"命令,如图下
- 从lib文件夹中选择两个.jar文件,点击"OK"按钮,将其添加到列表中并选中,点击"OK"按钮,如图下
使用Log4j 2 记录日志
经过前面的操作,已经将Log4j 2 所需的.jar文件导入项目中,下面是使用Log4j 2 记录日志的步骤。