log4j:WARN Please initialize the log4j system properly的解决办法

2024-01-24 12:44

本文主要是介绍log4j:WARN Please initialize the log4j system properly的解决办法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景:很多次创建新项目log4j都出现以下2个警告:

log4j:WARN No appenders could be found for logger (org.springframework.boot.ApplicationServletEnvironment).
log4j:WARN Please initialize the log4j system properly

网上查询都是在说缺少以下jar包,要么缺少logback-core 要么缺少 logback-classic要么缺少slf4j-log4j12,结果全加了都无效

最终解决办法:把以上3个jar包都干掉,根本不需要,只需配置一个xml:

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false"><!-- 监听器,指定日志文件存放目录 --><contextName>logback</contextName><!--控制台输出内容的颜色转换以及格式--><substitutionProperty name="logging.pattern.console"value="%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/><!--日志文件输出内容的格式--><substitutionProperty name="logging.pattern.file"value="%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/><!-- 彩色日志依赖的渲染类 --><conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/><conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/><conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/><!--输出到控制台--><appender name="console" class="ch.qos.logback.core.ConsoleAppender"><!--控制台使用layout节点--><layout class="ch.qos.logback.classic.PatternLayout"><pattern>${logging.pattern.console}</pattern></layout><!--输出哪个类第几行--><encoder>  <!-- 日志格式 --><pattern>%date-%level-[%F:%L]-[%thread]-%msg%n</pattern> ##F 类名 L 行数</encoder></appender><!--按天生成日志--><appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"><Prudent>true</Prudent><!--滚动策略,我配置了按天生成日志文件--><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--相对路径,生成的文件就在项目根目录下--> <!--不添加 D:/就不会在d盘下生成,就会在jar包同盘下生成--><FileNamePattern>/项目名Log/%d{yyyy-MM}/%d{yyyy-MM-dd}.log</FileNamePattern><!--注意超过30天的日志文件会被删除,即使已经按天分开也会删除--><MaxHistory>30</MaxHistory></rollingPolicy><!--日志文件里只保存ERROR及以上级别的日志--><filter class="ch.qos.logback.classic.filter.ThresholdFilter"><level>ERROR</level></filter><!--文件使用encoder节点--><encoder><Pattern>${logging.pattern.file}</Pattern></encoder></appender><!--这个logger里的配置相当于之前yml里的logging.level.com.xxx: trace--><!--additivity的作用true,则子Logger不止会在自己的appender里输出,还会在root的logger的appender里输出--><!--而这个logger里没配置appender,所以得交给root打印--><!--所以com.xxx 包里的日志从TRACE级别开始--><!--其他包里的日志根据root的配置从INFO级别开始打印--><logger name="com.xxx" level="TRACE" additivity="true"></logger><!--com.xxx的xxx记得改成自己实际项目根路径 --><root level="INFO"><appender-ref ref="console"/><appender-ref ref="file"/></root></configuration>

 如果使用了mybatis,就在application.properties或yml中加上个:

mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

如果是mybatis-plus就改为:

mybatis-plus:mapper-locations: classpath:mapper/*.xml
#打印sqlconfiguration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

再次启动项目发现警告信息没了

这篇关于log4j:WARN Please initialize the log4j system properly的解决办法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/639742

相关文章

vscode不能打开终端问题的解决办法

《vscode不能打开终端问题的解决办法》:本文主要介绍vscode不能打开终端问题的解决办法,问题的根源是Windows的安全软件限制了PowerShell的运行,而VSCode默认使用Powe... 遇到vscode不能打开终端问题,一直以为是安全软件限制问题,也没搜到解决方案,因为影响也不大,就没有管

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

Python运行中频繁出现Restart提示的解决办法

《Python运行中频繁出现Restart提示的解决办法》在编程的世界里,遇到各种奇怪的问题是家常便饭,但是,当你的Python程序在运行过程中频繁出现“Restart”提示时,这可能不仅仅是令人头疼... 目录问题描述代码示例无限循环递归调用内存泄漏解决方案1. 检查代码逻辑无限循环递归调用内存泄漏2.

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

MySQL错误代码2058和2059的解决办法

《MySQL错误代码2058和2059的解决办法》:本文主要介绍MySQL错误代码2058和2059的解决办法,2058和2059的错误码核心都是你用的客户端工具和mysql版本的密码插件不匹配,... 目录1. 前置理解2.报错现象3.解决办法(敲重点!!!)1. php前置理解2058和2059的错误

Docker镜像pull失败两种解决办法小结

《Docker镜像pull失败两种解决办法小结》有时候我们在拉取Docker镜像的过程中会遇到一些问题,:本文主要介绍Docker镜像pull失败两种解决办法的相关资料,文中通过代码介绍的非常详细... 目录docker 镜像 pull 失败解决办法1DrQwWCocker 镜像 pull 失败解决方法2总

关于Docker Desktop的WSL报错问题解决办法

《关于DockerDesktop的WSL报错问题解决办法》:本文主要介绍关于DockerDesktop的WSL报错问题解决办法的相关资料,排查发现是因清理%temp%文件夹误删关键WSL文件,... 目录发现问题排查过程:解决方法其实很简单:重装之后再看就能够查到了:最后分享几个排查这类问题的小www.cp

电脑开机提示krpt.dll丢失怎么解决? krpt.dll文件缺失的多种解决办法

《电脑开机提示krpt.dll丢失怎么解决?krpt.dll文件缺失的多种解决办法》krpt.dll是Windows操作系统中的一个动态链接库文件,它对于系统的正常运行起着重要的作用,本文将详细介绍... 在使用 Windows 操作系统的过程中,用户有时会遇到各种错误提示,其中“找不到 krpt.dll”

Pycharm安装报错:Cannot detect a launch configuration解决办法

《Pycharm安装报错:Cannotdetectalaunchconfiguration解决办法》本文主要介绍了Pycharm安装报错:Cannotdetectalaunchconfigur... 本文主要介绍了Pycharm安装报错:Cannot detect a launch configuratio