我正在使用嵌入式jetty 9.2.22并发现http访问日志没有被删除,即使我将retaindays设置为0或1.在为retaindays设置0或1之后,我已经更改了系统时间并启动了码头,发现http访问日志没有被删除。
RequestLogHandler requestLogHandler = new RequestLogHandler();
NCSARequestLog requestLog = new NCSARequestLog();
String filename = System.getProperty("user.dir") "/logs/http-yyyy_mm_dd.log";
File file = new File(filename);
file.getParentFile().mkdirs();
requestLog.setFilename(filename);
requestLog.setAppend("true");
requestLog.setExtended("false");
requestLog.setLogCookies(false));
requestLog.setLogTimeZone("GMT");
requestLog.setRetainDays(0);
requestLogHandler.setRequestLog(requestLog);
handlers.addHandler(requestLogHandler);
答案 0 :(得分:1)
retainDays
0
有效地禁用了整个retainDays
逻辑,并且没有文件被删除。
最小的合法价值是1
。
备用选项是使用org.eclipse.jetty.server.Slf4jRequestLog
而不是NCSARequestLog
,并让您选择的日志库在您选择的任何配置上进行文件轮换,存档和保留。