Author: j16sdiz Date: 2008-11-06 08:45:15 +0000 (Thu, 06 Nov 2008) New Revision: 23341
Modified:
trunk/freenet/src/freenet/support/FileLoggerHook.java
Log:
refactor 2: factor out FileLoggerHook.rotateLog()
Modified: trunk/freenet/src/freenet/support/FileLoggerHook.java
===================================================================
--- trunk/freenet/src/freenet/support/FileLoggerHook.java 2008-11-06
08:44:54 UTC (rev 23340)
+++ trunk/freenet/src/freenet/support/FileLoggerHook.java 2008-11-06
08:45:15 UTC (rev 23341)
@@ -266,49 +266,11 @@
thisTime = System.currentTimeMillis();
if (baseFilename != null) {
if ((thisTime > nextHour) ||
switchedBaseFilename) {
- {
- // Switch logs
- try {
-
logStream.flush();
- if(altLogStream
!= null) altLogStream.flush();
- } catch (IOException e)
{
-
System.err.println(
-
"Flushing on change caught " + e);
- }
- try {
-
logStream.close();
- } catch (IOException e)
{
-
System.err.println(
-
"Closing on change caught " + e);
- }
- long length =
currentFilename.length();
- OldLogFile olf = new
OldLogFile(currentFilename, lastTime, nextHour, length);
- synchronized(logFiles) {
-
logFiles.addLast(olf);
- }
-
oldLogFilesDiskSpaceUsage += length;
- trimOldLogFiles();
- // Rotate primary log
stream
- currentFilename = new
File(getHourLogName(gc, true));
- logStream =
openNewLogFile(currentFilename, true);
- if(latestFile != null) {
- try {
-
altLogStream.close();
- } catch
(IOException e) {
-
System.err.println(
-
"Closing alt on change caught " + e);
- }
- if(previousFile
!= null && previousFile.exists())
-
FileUtil.renameTo(latestFile, previousFile);
-
latestFile.delete();
- altLogStream =
openNewLogFile(latestFile, false);
- }
- }
-
//System.err.println("Rotated log files: "+filename);
-
//System.err.println("Almost rotated");
+ currentFilename =
rotateLog(currentFilename, lastTime, nextHour, gc);
+
gc.add(INTERVAL,
INTERVAL_MULTIPLIER);
nextHour =
gc.getTimeInMillis();
-
//System.err.println("Rotated");
+
if(switchedBaseFilename) {
synchronized(FileLoggerHook.class) {
switchedBaseFilename = false;
@@ -352,6 +314,46 @@
}
}
+ private File rotateLog(File currentFilename, long lastTime,
long nextHour, GregorianCalendar gc) {
+ // Switch logs
+ try {
+ logStream.flush();
+ if(altLogStream != null) altLogStream.flush();
+ } catch (IOException e) {
+ System.err.println(
+ "Flushing on change caught " + e);
+ }
+ try {
+ logStream.close();
+ } catch (IOException e) {
+ System.err.println(
+ "Closing on change caught " + e);
+ }
+ long length = currentFilename.length();
+ OldLogFile olf = new OldLogFile(currentFilename, lastTime,
nextHour, length);
+ synchronized(logFiles) {
+ logFiles.addLast(olf);
+ }
+ oldLogFilesDiskSpaceUsage += length;
+ trimOldLogFiles();
+ // Rotate primary log stream
+ currentFilename = new File(getHourLogName(gc, true));
+ logStream = openNewLogFile(currentFilename, true);
+ if(latestFile != null) {
+ try {
+ altLogStream.close();
+ } catch (IOException e) {
+ System.err.println(
+ "Closing alt on change caught "
+ e);
+ }
+ if(previousFile != null && previousFile.exists())
+ FileUtil.renameTo(latestFile, previousFile);
+ latestFile.delete();
+ altLogStream = openNewLogFile(latestFile, false);
+ }
+ return currentFilename;
+ }
+
// Check every minute
static final int maxSleepTime = 60 * 1000;
/**
