龙空技术网

使用log4j2打印日志

断幺九清一色Chiral 87

前言:

而今朋友们对“log4j2日志打印不到文件”都比较看重,大家都想要学习一些“log4j2日志打印不到文件”的相关知识。那么小编在网络上汇集了一些有关“log4j2日志打印不到文件””的相关知识,希望兄弟们能喜欢,姐妹们快快来了解一下吧!

SLF4J

首先映入眼帘的是slf4j,全称是Simple Logging Facade for Java。从名字可以看出来这是一个日志框架,采用了Facade的设计模式,说白了,这是一个日志框架接口,应用程序里使用slf4j的接口来打印日志,具体的日志框架可以自由选择,这样做是为了方便适配不同的日志框架,比如logback,log4j2等。

官方网站是

Log4j

log4j是apache的开源项目,现在已经到2.0版本,所以也叫log4j2,官方网站是

所以本文的日志打印就是通过应用程序里使用slf4j的接口,然后具体的日志框架是log4j2。

实验代码都在上传在

添加maven依赖

首先需要增加对日志框架包的依赖,如下

<dependencies>    <!-- 这个依赖是slf4j的api-->    <dependency>        <groupId>org.slf4j</groupId>        <artifactId>slf4j-api</artifactId>        <version>1.7.28</version>    </dependency>    <!--下面这两个依赖是log4j2的实现-->    <dependency>        <groupId>org.apache.logging.log4j</groupId>        <artifactId>log4j-api</artifactId>        <version>2.13.3</version>    </dependency>    <dependency>        <groupId>org.apache.logging.log4j</groupId>        <artifactId>log4j-core</artifactId>        <version>2.13.3</version>    </dependency>     <!-- 下面这个依赖是 log4j 桥接slf4j用的-->    <dependency>        <groupId>org.apache.logging.log4j</groupId>        <artifactId>log4j-slf4j-impl</artifactId>        <version>2.13.3</version>    </dependency></dependencies>
HelloWorld打印
import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class LogMain {    static Logger logger = LoggerFactory.getLogger(LogMain.class);    public static void main(String[] args) {        logger.error("Hello World");    }}

这就log4j的helloworld,这是还没有任何的配置文件,这时,log4j会提供一个默认的配置文件,只能输出到console上,这里要注意,默认配置的Log Level是ERROR的,所以只有ERROR级别及其以上的打印才能输出看到,如果这里打印一个info的日志,是不会输出到屏幕的,因为级别太低,过滤掉了。

输出

08:17:18.767 [main] ERROR com.kpk.LogMain - Hello World

未完待续

标签: #log4j2日志打印不到文件