猿问

log4j 无法在 spring boot resti api 中创建日志文件

我创建了 Spring Boot 应用程序,还使用 log4j 创建了记录器。我已经尝试了所有可能的方法,但仍然无法生成日志文件。它只打印到控制台


这是我的 log4j.properties


 log=/home/jayanes/projects/HSS/server/logs

log4j.rootLogger=INFO, file ,stdout

log4j.appender.file=org.apache.log4j.DailyRollingFileAppender

log4j.appender.file.File=${log}/process.log

log4j.appender.file.Append=true

log4j.appender.file.DatePattern='.'yyyy-MM-dd

log4j.appender.file.layout=org.apache.log4j.PatternLayout


log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n





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=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

你能帮助我吗 ?


天涯尽头无女友
浏览 191回答 2
2回答

宝慕林4294392

如果您在pom.xmlthen中具有以下依赖项,spring-boot则将使用嵌入在此依赖项中的自己的默认日志记录(logback)(您可以在选项卡上dependency hierarchy签入 IDE):<dependency>&nbsp; &nbsp; <groupId>org.springframework.boot</groupId>&nbsp; &nbsp; <artifactId>spring-boot-starter</artifactId></dependency>为了禁用默认日志记录,您需要将其排除:<dependency>&nbsp; &nbsp; <groupId>org.springframework.boot</groupId>&nbsp; &nbsp; <artifactId>spring-boot-starter</artifactId>&nbsp; &nbsp; <!-- Need to exclude spring boot's default logger in order to use log4j -->&nbsp; &nbsp; <exclusions>&nbsp; &nbsp; &nbsp; &nbsp; <exclusion>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <groupId>org.springframework.boot</groupId>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <artifactId>spring-boot-starter-logging</artifactId>&nbsp; &nbsp; &nbsp; &nbsp; </exclusion>&nbsp; &nbsp; </exclusions></dependency>在您添加此内容后,如果您已正确配置,pom.xml您将能够看到日志。log4j

不负相思意

我尝试了几种方法终于找到了解决方案手动添加import org.apache.log4j.BasicConfigurator;库并在应用程序运行文件中调用该库&nbsp;&nbsp;BasicConfigurator.configure();添加此配置日志文件后,我们创建了我们想要的文件位置谢谢
随时随地看视频慕课网APP

相关分类

Java
我要回答