Log4j2 是一个常用的日志工具。本文把试用结果和遇到的问题记录一下。
Java文件
Java代码如下:
1 | package com.shizhihua.example; |
Log4j2配置
log4j2默认在console上输出ERROR级别的信息。为了显示INFO信息,需要通过配置更改默认设置。试用中采用XML文件来进行设置。log4j2.xml
的具体设置内容如下(Root level设置为INFO):
1 | <?xml version="1.0" encoding="UTF-8"?> |
代码的组织按照gradle/maven的默认结构。
Q1: 程序找不到log4j2的配置文件?
A1: 配置文件必须放在src\main\resources
下面,否则运行时需要指定配置文件。
Gradle脚本
build.gradle文件内容如下:
1 | apply plugin: 'java' |
Q2: 运行jar文件,找不到依赖包?
A2: Gradle能自动解决编译过程中的第三方依赖,但是我们直接从命令后直接运行程序时,还是要指定第三方依赖才行。为了能直接运行jar文件,上述脚本中在jar文件生成配置中增加了一行代码,这样就把第三方依赖包也打包起来了,形成了“胖”jar。
1 | from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } |
运行结果
直接执行下面命令:
1 | gradle build |
得倒下面的输出(与时间有关)
1 | 07:33:56.484 [main] INFO com.shizhihua.example.TestLog - Hello, world! |