java - 为什么我在我的日志文件中看不到我的 log4j 结果?
问题描述
我正在尝试在我的 Java 项目中使用 log4j 并将结果打印到我的 log.txt 并且它的 dosnt 有效,我找不到任何原因。
我的记录器:
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class Log4J2PropertiesConf {
private static Logger logger = LogManager.getLogger();
public void performSomeTask() {
logger.debug("This is a debug message");
logger.info("This is an info message");
logger.warn("This is a warn message");
logger.error("This is an error message");
logger.fatal("This is a fatal message");
}
}
我的属性:
property.filename = logs
appenders = console, file
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
appender.file.type = File
appender.file.name = LOGFILE
appender.file.fileName=${filename}/propertieslogs.log
appender.file.layout.type=PatternLayout
appender.file.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
loggers=file
logger.file.name=guru.springframework.blog.log4j2properties
logger.file.level = debug
logger.file.appenderRefs = file
logger.file.appenderRef.file.ref = LOGFILE
rootLogger.level = debug
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT
pom.xml:
<?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">
<modelVersion>4.0.0</modelVersion>
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>RELEASE</version>
<scope>test</scope>
</dependency>
</dependencies>
<groupId>org.example</groupId>
<artifactId>untitled</artifactId>
<version>1.0-SNAPSHOT</version>
</project>
控制台打印正确的输出,并且正确创建了 propertieslogs.log,但他是空的。
我使用了这个文档: https ://springframework.guru/log4j-2-configuration-using-properties-file/
解决方案
您的依赖项中没有org.springframework.boot:spring-boot-starter-log4j2
。
推荐阅读
- spring - 尝试在 Spring Boot 中创建测试
- javascript - 静音整个 Discord 语音通道 (JS)
- testng - 使用@BeforeClass 和@BeforeSuite 注解的方法在TestNG 中的@DataProvider 之前执行吗?
- shell - 热切文件名的最后N个字符(shell)
- html - 如何使每个项目的容器全高并在悬停时开始过渡?
- javascript - Firefox 中的 Buggy 轮播滚动
- android - 预期 @HiltAndroidApp 具有值。您是否忘记应用 Gradle 插件?
- python - Python从多个列表中创建字典列表
- javascript - 如何使用 Javascript 在 Firestore 中验证用户的 ID 令牌?
- go - 电线,在主包装外使用喷油器