log4j没有打印出来?
后端用的是spring框架,
我这样封装了一个log4j类:
package cn.lai.App.Util;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class log4j {
private static Logger logger = null;
private static String loggerName = "ApplicationLogger";
private void log4j(){
}
static {
logger = LogManager.getLogger(loggerName);
}
public static Logger getLogger(){
if (logger == null){
logger = LogManager.getLogger(loggerName);
}
return logger;
}
public static void info(String msg){
Logger log = getLogger();
log.info(msg);
}
}
在pom.xml中排除了不需要的logging,引入了log4j
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<dependencies>
<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-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
</dependencies>
</project>
然后在application.yml中定义了log4j配置文件的位置:
logging:
config: classpath:log4j.properties
最后这样配了一个log4j.properties
:
log4j.rootLogger = ALL,stdout
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %c%d{yyyy-MM-dd HH:mm:ss,SSS}%m%n
程序里这样打印了:
import cn.lai.App.Util.log4j;
log4j.info("这是一条测试数据");
结果并没有输出任何信息
为什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
解决了
log4j.properties
中的格式是log4j1
的把
pom
中的log4j2
改为log4j1
就好了如下: