mirror of
https://github.com/jetty/jetty.project.git
synced 2025-03-04 12:59:30 +00:00
Issue #1051 - Using java.time.ZonedDateTime instead of java.util.Calendar for Java 1.8+
This commit is contained in:
parent
7930a3dac8
commit
9f317dee94
@ -24,7 +24,8 @@ import java.io.FilterOutputStream;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Calendar;
|
import java.time.ZonedDateTime;
|
||||||
|
import java.time.temporal.ChronoUnit;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.TimeZone;
|
import java.util.TimeZone;
|
||||||
@ -53,7 +54,7 @@ public class RolloverFileOutputStream extends FilterOutputStream
|
|||||||
final static int ROLLOVER_FILE_RETAIN_DAYS = 31;
|
final static int ROLLOVER_FILE_RETAIN_DAYS = 31;
|
||||||
|
|
||||||
private RollTask _rollTask;
|
private RollTask _rollTask;
|
||||||
private Calendar midnight;
|
private ZonedDateTime midnight;
|
||||||
private SimpleDateFormat _fileBackupFormat;
|
private SimpleDateFormat _fileBackupFormat;
|
||||||
private SimpleDateFormat _fileDateFormat;
|
private SimpleDateFormat _fileDateFormat;
|
||||||
|
|
||||||
@ -175,13 +176,7 @@ public class RolloverFileOutputStream extends FilterOutputStream
|
|||||||
|
|
||||||
_rollTask=new RollTask();
|
_rollTask=new RollTask();
|
||||||
|
|
||||||
midnight = Calendar.getInstance();
|
midnight = ZonedDateTime.now().toLocalDate().atStartOfDay(zone.toZoneId());
|
||||||
midnight.setTimeZone(zone);
|
|
||||||
// set to midnight
|
|
||||||
midnight.set(Calendar.HOUR, 0);
|
|
||||||
midnight.set(Calendar.MINUTE, 0);
|
|
||||||
midnight.set(Calendar.SECOND, 0);
|
|
||||||
midnight.set(Calendar.MILLISECOND, 0);
|
|
||||||
|
|
||||||
scheduleNextRollover();
|
scheduleNextRollover();
|
||||||
}
|
}
|
||||||
@ -193,8 +188,8 @@ public class RolloverFileOutputStream extends FilterOutputStream
|
|||||||
// Using Calendar.add(DAY, 1) takes in account Daylights Savings
|
// Using Calendar.add(DAY, 1) takes in account Daylights Savings
|
||||||
// differences, and still maintains the "midnight" settings for
|
// differences, and still maintains the "midnight" settings for
|
||||||
// Hour, Minute, Second, Milliseconds
|
// Hour, Minute, Second, Milliseconds
|
||||||
midnight.add(Calendar.DAY_OF_MONTH, 1);
|
midnight = midnight.toLocalDate().plus(1, ChronoUnit.DAYS).atStartOfDay(midnight.getZone());
|
||||||
__rollover.schedule(_rollTask,midnight.getTime());
|
__rollover.schedule(_rollTask,midnight.toInstant().toEpochMilli());
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ------------------------------------------------------------ */
|
/* ------------------------------------------------------------ */
|
||||||
@ -265,9 +260,9 @@ public class RolloverFileOutputStream extends FilterOutputStream
|
|||||||
{
|
{
|
||||||
if (_retainDays>0)
|
if (_retainDays>0)
|
||||||
{
|
{
|
||||||
Calendar now = Calendar.getInstance();
|
ZonedDateTime now = ZonedDateTime.now(this.midnight.getZone());
|
||||||
now.add(Calendar.DAY_OF_MONTH, (-1)*_retainDays);
|
now.minus(_retainDays, ChronoUnit.DAYS);
|
||||||
long expired = now.getTimeInMillis();
|
long expired = now.toInstant().toEpochMilli();
|
||||||
|
|
||||||
File file= new File(_filename);
|
File file= new File(_filename);
|
||||||
File dir = new File(file.getParent());
|
File dir = new File(file.getParent());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user