spring项目整合log4j2日志框架(含log4j无法打印出日志的情况,含解决办法)

Spring整合Log4j2的整体流程

Lo

1)导入log4j-core依赖

<!--导入日志框架-->

<dependency>

<groupId>org.apache.logging.log4j</groupId>

<artifactId>log4j-core</artifactId>

<version>2.20.0</version>

</dependency>

2)创建log4j2.xml文件

在项目中resource目录下创建log4j2.xml文件

3)配置log4j.xml文件

<?xml version="1.0" encoding="UTF-8"?>

<Configuration status="WARN">

<Appenders>

<!--配置控制台输出日志-->

<Console name="Console" target="SYSTEM_OUT">

<!--日志的输出格式-->

<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>

</Console>

<!--配置文件输出日志-->

<File name="File" fileName="d:/logs/app.log">

<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>

</File>

</Appenders>

<Loggers>

<!--日志级别为debug-->

<Root level="debug">

<AppenderRef ref="Console"/>

<AppenderRef ref="File"/>

</Root>

</Loggers>

</Configuration>

4)测试

注:这个需要使用spring框架创建对象才能显示出log4j日志

Logj4无法打印的日志情况

1)不是使用spring框架创建对象,使用反射创建对象

2)不是使用spring框架创建对象,使用手动创建对象的方式创建对象

以上两种都没有日志打印

3)解决办法

1.通过导入log4j-slf4j2-impl jar包

<dependency>

<groupId>org.apache.logging.log4j</groupId>

<artifactId>log4j-slf4j2-impl</artifactId>

<version>2.23.1</version>

</dependency>

2.然后在创建Logger

private static Logger logger= LoggerFactory.getLogger(当前类.class);

import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xiji.Users;

public class CreateUsersByHandTest {

private static Logger logger= LoggerFactory.getLogger(CreateUsersByHandTest.class);

@Test
public void createUsers(){
System.out.println("通过手写创建");

Users users = new Users();
/**
手动输出日志即可解决
*/
logger.info("通过log4j2打印日志"+users);
System.out.println(users);
users.userInfo();
}
}

3.测试结果
相关推荐
Lanqing_0760几秒前
京东开放平台获取京东商品详情API接口操作解答
java·前端·python·api·电商·电商数据
Lenyiin1 分钟前
第 87 场周赛:比较含退格的字符串、数组中的最长山脉、一手顺子、访问所有节点的最短路径
java·c++·python·leetcode·周赛·lenyiin
forestsea3 分钟前
Spring 路由匹配机制详解:时间复杂度从 O(n) 降至 O(log n)
java·后端·spring·路由匹配
MarkGosling5 分钟前
🚀 引言:当 Java 遇上大模型,LangChain 4 j 如何成为开发者的「AI 胶水」?
java·langchain
User_芊芊君子12 分钟前
Java异步编程:提升性能的实战秘籍
java·开发语言·python
小猫咪怎么会有坏心思呢17 分钟前
华为OD机考-英文输入法-逻辑分析(JAVA 2025B卷)
java·开发语言·华为od
sunshine__sun20 分钟前
单元测试基本步骤
单元测试
西门吹雪@13223 分钟前
idea2024版本设置TODO快捷键
idea
小白的代码日记24 分钟前
Spring MVC 入门案例:从代码到原理的深度剖析
java·spring·mvc
SimonKing27 分钟前
吊打面试官系列:Spring如何使用三级缓存解决循环依赖
java·后端·面试