【发布时间】:2020-06-15 16:31:37
【问题描述】:
我正在使用这个很好的例子来学习 SpringBoot here。
但我想学习如何添加到这个项目中的一件事是RollingFileAppender。
在我以前的项目中,我总是这样做:
1) 添加了这些依赖项
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.5</version>
</dependency>
2) 在src/main/resources文件夹中添加如下文件log4j.properties。
# Root logger option
log4j.rootLogger=INFO, stdout, loggerId
log4j.appender.loggerId=org.apache.log4j.RollingFileAppender
log4j.appender.loggerId.layout=org.apache.log4j.PatternLayout
log4j.appender.loggerId.layout.ConversionPattern=%d [%t] %-5p (%F:%L) - %m%n
log4j.appender.loggerId.File=logs/app.log
log4j.appender.loggerId.MaxFileSize=100MB
log4j.appender.loggerId.MaxBackupIndex=30
# Direct log messages to 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=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
# Silence unnecessary logs
log4j.logger.net.schmizz=OFF
log4j.logger.io.javalin=OFF
log4j.logger.net.dv8tion.jda.core.requests=OFF
3) 在代码中我可以调用记录器:
private Logger LOG = LoggerFactory.getLogger(<class>)
(...)
LOG.info("logging a message")
这会将日志抛出到控制台,以及一个名为logs/app.log 的滚动文件,最大大小为 100MB(如属性文件中所定义)。
在我上面在 GitHub 中链接的现代 SpringBoot 项目中,这样做的正确方法是什么,可能使用 SpringBoot 附带的记录器?
谢谢!
【问题讨论】:
-
如果没坏,就不要修了
标签: spring spring-boot logging log4j slf4j