log4j按日期建目录存放日志
时间: 2023-07-21 12:19:17 浏览: 55
log4j可以通过配置文件实现按日期建目录存放日志,具体步骤如下:
1. 在log4j.properties或log4j.xml配置文件中,设置需要记录日志的类的日志级别和输出方式。
2. 在输出方式中,使用`org.apache.log4j.DailyRollingFileAppender`类代替`org.apache.log4j.FileAppender`类,设置`DatePattern`属性为需要按日期建目录的格式,例如`'.'yyyy-MM-dd`表示按天建目录。
3. 在输出路径中,使用log4j的布局模式,例如`%d{yyyy-MM-dd}-%p-%c.log`表示日志文件名以日期、日志级别、类名命名。
下面是一个示例log4j.properties配置文件:
```
# 设置日志级别
log4j.rootLogger=INFO, file
# 输出方式
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.File=/var/log/myapp/%d{yyyy-MM-dd}/myapp-%p-%c.log
# 日志格式
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5p] [%c{1}] - %m%n
```
这个配置文件将日志记录到`/var/log/myapp/`目录下的按日期建立的子目录中,以日期、日志级别、类名命名日志文件。在代码中,使用`Logger.getLogger()`方法获取需要记录日志的类的Logger对象,然后使用`logger.info()`等方法记录日志。
注意,使用按日期建目录存放日志会产生大量的小文件,需要根据实际情况进行调整。