Springboot整合log4j2-问题与配置(idea打印彩色日志信息)

本文介绍了如何在Springboot项目中整合log4j2,并解决在2.10版本后控制台无法显示彩色日志的问题。通过排除默认的logback依赖,配置log4j2.xml文件,以及在IDEA中设置VM options参数-Dlog4j.skipJansi=false,可以实现日志的彩色打印,提高日志可读性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们平时项目中都有使用到log4j这个日志框架,但是之前对日志的标签并没有什么认识,今天通过对对日志文件的书写,来认识log4j各个标签的含义,让平时在工作中更好配置自己日志文件。

1、首先引入依赖,springboot的默认日志logback,使用exclusion排除默认的依赖,如果不排除就会导致被多次绑定。

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j2</artifactId>
        </dependency>

2、将在application.properties中配置log4j2.xml配置的文件

logging.config=classpath:config/log4j2.xml

3、就是目前需要配置log4j2.xml的日志文件

<?xml version="1.0" encoding="UTF-8"?>
<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO 
### ENSP 软件版本概述 ENSP(Enterprise Network Simulation Platform)是一款由华为推出的网络仿真平台,主要用于模拟企业级网络环境下的设备配置与管理操作。以下是关于其主要版本及其特性的详细介绍: #### 版本 5.0 ENSP 的早期版本之一,提供了基础的企业网络仿真功能[^1]。此版本支持有限数量的虚拟路由器和交换机模型,并能够满足基本的教学需求以及简单的实验场景搭建。 #### 版本 5.3 作为一次重要的更新迭代,ENSP 5.3 增加了对更多型号硬件的支持,例如 AR 系列路由器、S 系列交换机等[^2]。此外,在图形界面优化方面也有所改进,使得用户体验更加友好;同时增强了协议仿真的精确度,比如 OSPF 和 BGP 协议的行为表现更为贴近实际运行情况。 #### 版本 6.x (最新系列) 进入第六代产品线之后,ENSP 不断引入新特性来适应日益复杂的现代网络架构设计要求。具体来说: - **性能提升**: 可承载更大规模拓扑结构,单实例最多可容纳上千台逻辑节点; - **新增组件**: 集成了 SDN 控制器插件选项,允许用户探索软件定义网络领域内的可能性; - **云服务对接能力**: 开始尝试打通本地部署版同云端资源之间的连接通道,从而实现混合模式下的一体化运维管理体验[^3]。 ```python # 示例 Python 脚本用于自动化批量创建 ENSP 设备对象 class DeviceFactory: def __init__(self, type_list): self.types = type_list def generate_devices(self, count_per_type=10): devices = [] for t in self.types: for i in range(count_per_type): name = f"{t}_{i}" config = {"name": name, "type": t} devices.append(config) return devices factory = DeviceFactory(["router", "switch"]) devices = factory.generate_devices(5) print(devices) ``` 上述代码片段展示了一个简单的方法用来生成多个不同类型的虚拟设备列表,这可以应用于基于 ENSP 平台的大规模测试环境中去初始化所需的基础设置数据集。 --- 相关问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值