在log4j中,可以使用DailyRollingFileAppender
类来按日期生成日志。
首先,需要在log4j的配置文件中定义一个DailyRollingFileAppender
,并设置DatePattern
属性来指定日期格式。例如,可以使用'.'yyyy-MM-dd
来按照年-月-日的格式生成日志文件。示例配置如下:
log4j.appender.daily=org.apache.log4j.DailyRollingFileAppender
log4j.appender.daily.File=logs/mylog.log
log4j.appender.daily.DatePattern='.'yyyy-MM-dd
log4j.appender.daily.layout=org.apache.log4j.PatternLayout
log4j.appender.daily.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p [%c] - %m%n
上述配置将生成一个名为mylog.log
的日志文件,每天的日志都会保存在不同的文件中,文件名的格式是mylog.log.yyyy-MM-dd
。
请注意,上述配置文件中的log4j.appender.daily.File
属性指定了日志文件的路径和文件名,可以根据实际需要进行修改。另外,log4j.appender.daily.layout.ConversionPattern
属性指定了日志的输出格式,也可以根据需要进行修改。
完成配置后,只需在代码中使用log4j的Logger对象记录日志,log4j会自动按照配置生成对应日期的日志文件。示例代码如下:
import org.apache.log4j.Logger;
public class MyClass {
private static final Logger logger = Logger.getLogger(MyClass.class);
public static void main(String[] args) {
logger.info("This is a log message.");
}
}
以上代码会将日志输出到指定的日志文件中,文件名会根据日期自动变化。