@Slf4j按日期生成日志文件
时间: 2023-07-05 19:25:42 浏览: 139
slf4j完整日志文件
您可以使用log4j或者logback框架来实现按日期生成日志文件的功能。下面是使用logback框架的示例代码:
1. 首先,在pom.xml中添加logback依赖:
```xml
<dependencies>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
</dependencies>
```
2. 在logback.xml中配置按日期生成日志文件:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/path/to/logs/mylog.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>/path/to/logs/mylog-%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- keep 30 days' worth of history -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<root level="info">
<appender-ref ref="FILE" />
</root>
</configuration>
```
这里的`fileNamePattern`指定了生成的日志文件名格式为`mylog-yyyy-MM-dd.log`,并且保留最近30天的日志文件。`encoder`中的`pattern`指定了日志输出的格式。
3. 使用Logger输出日志:
```java
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MyClass {
private static final Logger logger = LoggerFactory.getLogger(MyClass.class);
public void myMethod() {
logger.info("This is a log message");
}
}
```
这样就可以在`/path/to/logs`目录下按日期生成日志文件了。
阅读全文