我使用log4j2来记录spring引导,但它没有创建日志文件。下面是我对log4j2的配置和我添加的依赖项。我尝试了所有可能的解决办法。log4j2配置-
Configuration:
name: Default
Properties:
Property:
name: log-path
value: "logs"
Appenders:
Console:
name: Console_Appender
target: SYSTEM_OUT
PatternLayout:
pattern: "[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n"
File:
name: File_Appender
fileName: ${log-path}/logfile.log
PatternLayout:
pattern: "[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n"
Loggers:
Root:
level: debug
AppenderRef:
- ref: Console_Appender
Logger:
- name: com.example
level: debug
AppenderRef:
- ref: File_Appender
level: error
build.gradle文件中使用的依赖项:
configurations {
all*.exclude group:'org.springframework.boot', module: 'spring-boot-starter-logging'
all*.exclude module: 'logback-classic'
compileOnly {
extendsFrom annotationProcessor
}
developmentOnly
runtimeClasspath {
extendsFrom developmentOnly
}
}
dependencies {
compile 'org.springframework.boot:spring-boot-starter'
compile 'org.springframework.boot:spring-boot-starter-web'
compile 'org.springframework.boot:spring-boot-starter-log4j2'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
}
应用程序文件:
@SpringBootApplication
public class DemoApplication {
private static final Logger logger = LogManager.getLogger(DemoApplication.class);
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
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");
}
}
启动应用程序后,在控制台中获取登录文件,但文件未生成。
3条答案
按热度按时间bpzcxfmw1#
请使用下面的配置文件
o7jaxewo2#
日志文件名
fileName: ${log-path}/logfile.log
has log path引用了一个属性,但是没有定义该属性您需要在log4j文件中添加属性
v6ylcynt3#
为了支持yaml格式,需要额外的依赖项。添加这些依赖项之后,它就可以正常工作了。