在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.");
}
}
以上代碼會將日志輸出到指定的日志文件中,文件名會根據日期自動變化。