log4j 无法在 spring 引导恢复 api 中创建日志文件
log4j could not create log file in spring boot resti api
我创建了 Spring 引导应用程序,还使用 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
你能帮帮我吗?
如果您的 pom.xml
中有以下依赖项,那么 spring-boot
将使用嵌入在该依赖项中的自己的默认日志记录 (logback)(您可以检查 IDE在 dependency hierarchy
选项卡上):
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
为了禁用默认日志记录,您需要将其排除:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<!-- Need to exclude spring boot's default logger in order to use log4j -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
将此添加到 pom.xml
后,如果配置正确,您将能够看到来自 log4j
的日志。
我尝试了几种方法终于找到了解决方案
手动添加 import org.apache.log4j.BasicConfigurator;
库并在应用程序 运行 文件
中调用该库
BasicConfigurator.configure();
添加此配置日志文件后,创建了我们想要的文件位置
谢谢
我创建了 Spring 引导应用程序,还使用 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
你能帮帮我吗?
如果您的 pom.xml
中有以下依赖项,那么 spring-boot
将使用嵌入在该依赖项中的自己的默认日志记录 (logback)(您可以检查 IDE在 dependency hierarchy
选项卡上):
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
为了禁用默认日志记录,您需要将其排除:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<!-- Need to exclude spring boot's default logger in order to use log4j -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
将此添加到 pom.xml
后,如果配置正确,您将能够看到来自 log4j
的日志。
我尝试了几种方法终于找到了解决方案
手动添加 import org.apache.log4j.BasicConfigurator;
库并在应用程序 运行 文件
BasicConfigurator.configure();
添加此配置日志文件后,创建了我们想要的文件位置
谢谢