因工作需要,采用JavaFx开发了一个windows窗口程序。在开发过程中,由于没有引入日志框架,只能自己手动在控制台打印些信息,给调试带来了很多麻烦;因此决定引入日志框架。由于之前接触的项目大部分都是javaWeb项目,web项目的日志输出已经难不倒我了。但普通java项目日志输出配置还是第一次接触,因此记录下整个过程,方便后续借鉴。
技术概述:采用Sl4j作为日志门面,Log4j2作为日志输出的具体实现;同时结合lombok插件,减少代码的书写。
一、相关Maven依赖
由于copy jar包是非常麻烦的一件事,因此本次的这个普通java项目也是用Maven来构建的。
采用Sl4j作为日志门面,Log4j2作为日志的实现,Lombok插件减少代码的书写。具体依赖如下:
<!--lombok 依赖-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.6</version>
</dependency>
<!--##### log4j2 start ####-->
<!--log4j2核心包-->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.11.1</version>
</dependency>
<!-- Web项目才需要添加 -->
<!-- <dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<version>2.11.1</version>
</dependency>-->
<!--用于与slf4j保持桥接(里面自动依赖了slf4j-api)-->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.11.1</version>
</dependency>
<!-- slf4j核心包,由于上面的桥接包里自动依赖进来了,因此不用加了-->
<!-- <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>-->
<!--##### log4j2 end ####-->
34
34
1
<!--lombok 依赖-->
2
<dependency>
3
<groupId>org.projectlombok</groupId>
4
<artifactId>lombok</artifactId>
5
<version>1.18.6</version>
6
</dependency>
7
8
<!--##### log4j2 start ####-->
9
<!--log4j2核心包-->
10
<dependency>
11
<groupId>org.apache.logging.log4j</groupId>
12
<artifactId>log4j-core</artifactId>
13
<version>2.11.1</version>
14
</dependency>
15
<!-- Web项目才需要添加 -->
16
<!-- <dependency>
17
<groupId>org.apache.logging.log4j</groupId>
18
<artifactId>log4j-web</artifactId>
19
<version>2.11.1</version>
20
</dependency>-->
21
<!--用于与slf4j保持桥接(里面自动依赖了slf4j-api)-->
22
<dependency>
23
<groupId>org.apache.logging.log4j</groupId>
24
<artifactId>log4