重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章将为大家详细讲解有关 Log4j2如何在Spring Boot中实现配置并使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
目前创新互联已为1000+的企业提供了网站建设、域名、网络空间、网站托管、企业网站设计、大兴网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
Spring Boot 可以集成很多不同的日志系统,其中最常用的Apache Log4j,而Log4j 2是Log4j的升级版本,Log4j 2相对于Log4j 1.x 有了很多显著的改善。所以这篇博客就直接来说说Spring Boot如何集成并配置使用Log4j2.
1. 导入Log4j2的包
如果你使用Gradle,则在 build.gradle 文件中添加以下依赖。示例代码中使用的是Gradle方式。
dependencies { // log4j2 compile "org.apache.logging.log4j:log4j-api:2.8" compile "org.apache.logging.log4j:log4j-core:2.8" // 用来支持Logger中的Async compile 'com.lmax:disruptor:3.3.6' }
如果你使用Maven,则在 pom.xml 文件中添加以下依赖。
org.apache.logging.log4j log4j-api 2.8 org.apache.logging.log4j log4j-core 2.8 com.lmax disruptor 3.3.6
2. 添加log4j2配置文件
在项目的resources资源文件根目录下创建 log4j2.xml 文件并复制以下代码到文件中。
<?xml version="1.0" encoding="UTF-8"?>/home/kylin/log/knight/spring_log /home/kylin/log/knight/spring_log/7z
3. 编写Log4j2辅助类
做好以上的配置之后,我们可以编写一个辅助类,让我们更方便的使用Log4j2来记录日志。
在utils包中创建 L.java 类文件。
package com.spring.log4j2.utils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; /** * Logger 日志记录辅助类 * * Created by Kylin on 2017/5/11. */ public classL{ private static final Logger LOGGER = LogManager.getLogger(); privateL(){ /* cannot be instantiated */ throw new UnsupportedOperationException("cannot be instantiated"); } publicstaticLoggergetLogger(){ return LOGGER; } publicstaticvoidt(String msg){ LOGGER.trace(msg); } publicstaticvoidd(String msg){ LOGGER.debug(msg); } publicstaticvoidi(String msg){ LOGGER.info(msg); } publicstaticvoidw(String msg){ LOGGER.warn(msg); } publicstaticvoide(String msg){ LOGGER.error(msg); } }
编写完辅助类,使用起来就很简单了,通过下面的代码就可以轻松使用。
@Controller public classWebController{ @RequestMapping("/") publicStringindex(){ String msg = "Spring Boot系列之Log4j2的配置及使用"; L.t(msg); L.d(msg); L.i(msg); L.w(msg); L.e(msg); return "index"; } }
这里的辅助类只是写了一些基本的使用方法,你可以根据你的需求进行定制,增加更多的辅助方法。对于辅助类中没有提供的方法也可以使用 L.getLogger() 方法获取Logger实例来使用。
4. 结果验证
日志的Level分级:TRACE < DEBUG < INFO < WARN < ERROR < FATAL。
因为我的log4j2中的level设置的是 INFO 级别。所以打印信息中只能看到 INFO 、 WARN 、 ERROR 三种级别(FATAL级别的信息没有打印,否则也可以看到)。
打印信息如下图所示:
同时在电脑系统中生成了Log文件,如下图所示:
观察路径可以发现,这个路径正是在 Log4j2.xml 中设置的路径:
/home/kylin/log/knight/spring_log /home/kylin/log/knight/spring_log/7z
关于 Log4j2如何在Spring Boot中实现配置并使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。