Author: orudyy
Date: Tue Jul 7 12:03:33 2015
New Revision: 1689633
URL: http://svn.apache.org/r1689633
Log:
QPID-6614: [Java Broker] Add onNoRolloverDetected to RolloverListener interface.
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/logback/RollingPolicyDecorator.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/logback/RolloverWatcher.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/logging/logback/RollingPolicyDecoratorTest.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/util/LoggerTestHelper.java
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/logback/RollingPolicyDecorator.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/logback/RollingPolicyDecorator.java?rev=1689633&r1=1689632&r2=1689633&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/logback/RollingPolicyDecorator.java
(original)
+++
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/logback/RollingPolicyDecorator.java
Tue Jul 7 12:03:33 2015
@@ -54,7 +54,6 @@ public class RollingPolicyDecorator impl
public static final int DEFAULT_RESCAN_LIMIT = 60;
public static final String ROLLOVER_RESCAN_LIMIT_PROPERTY_NAME =
"qpid.logger_rollover_rescan_limit";
private static final Logger LOGGER =
LoggerFactory.getLogger(RollingPolicyDecorator.class);
- public static final String WARNING_MESSAGE = "Exceeded maximum number of
rescans without detecting rolled over log file.";
private final RollingPolicyBase _decorated;
private final RolloverListener _listener;
@@ -138,6 +137,7 @@ public class RollingPolicyDecorator impl
public interface RolloverListener
{
void onRollover(Path baseFolder, String[] relativeFileNames);
+ void onNoRolloverDetected(Path baseFolder, String[] relativeFileNames);
}
public RollingPolicyBase getDecorated()
@@ -198,7 +198,7 @@ public class RollingPolicyDecorator impl
}
else
{
- LOGGER.warn(WARNING_MESSAGE);
+ _listener.onNoRolloverDetected(_rolledFilesBaseFolder,
rolloverFiles);
}
}
}
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/logback/RolloverWatcher.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/logback/RolloverWatcher.java?rev=1689633&r1=1689632&r2=1689633&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/logback/RolloverWatcher.java
(original)
+++
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/logback/RolloverWatcher.java
Tue Jul 7 12:03:33 2015
@@ -32,13 +32,16 @@ import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import org.apache.qpid.server.logging.LogFileDetails;
import org.apache.qpid.server.logging.PathContent;
import org.apache.qpid.server.logging.ZippedContent;
-import org.apache.qpid.server.model.Content;
public class RolloverWatcher implements RollingPolicyDecorator.RolloverListener
{
+ private static final Logger LOGGER =
LoggerFactory.getLogger(RolloverWatcher.class);
private final Path _activeFilePath;
private volatile Collection<String> _rolledFiles;
private volatile Path _baseFolder;
@@ -56,6 +59,16 @@ public class RolloverWatcher implements
_baseFolder = baseFolder;
}
+ @Override
+ public void onNoRolloverDetected(final Path baseFolder, final String[]
relativeFileNames)
+ {
+ if (_baseFolder == null)
+ {
+ _baseFolder = baseFolder;
+ }
+ LOGGER.warn("Exceeded maximum number of rescans without detecting
rolled over log file.");
+ }
+
public PathContent getFileContent(String fileName)
{
if (fileName == null)
Modified:
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/logging/logback/RollingPolicyDecoratorTest.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/logging/logback/RollingPolicyDecoratorTest.java?rev=1689633&r1=1689632&r2=1689633&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/logging/logback/RollingPolicyDecoratorTest.java
(original)
+++
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/logging/logback/RollingPolicyDecoratorTest.java
Tue Jul 7 12:03:33 2015
@@ -20,24 +20,25 @@
*/
package org.apache.qpid.server.logging.logback;
-import static org.apache.qpid.server.util.LoggerTestHelper.assertLoggedEvent;
-import static
org.apache.qpid.server.util.LoggerTestHelper.createAndRegisterAppender;
-import static
org.apache.qpid.server.util.LoggerTestHelper.deleteAndUnregisterAppender;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.argThat;
import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.*;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
import java.util.Arrays;
-import java.util.concurrent.*;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
+
-import ch.qos.logback.classic.Level;
import ch.qos.logback.core.Context;
import ch.qos.logback.core.FileAppender;
-import ch.qos.logback.core.read.ListAppender;
import ch.qos.logback.core.rolling.RollingPolicyBase;
import org.apache.qpid.test.utils.QpidTestCase;
import org.apache.qpid.test.utils.TestFileUtils;
@@ -85,7 +86,7 @@ public class RollingPolicyDecoratorTest
public File createTestFile(String fileName) throws IOException
{
File testFile = new File(_baseFolder, fileName);
- testFile.createNewFile();
+ assertTrue("Cannot create a new file " + testFile.getPath(),
testFile.createNewFile());
return testFile;
}
@@ -130,18 +131,13 @@ public class RollingPolicyDecoratorTest
public void testRolloverRescanLimit() throws IOException
{
- ListAppender loggerAppender =
createAndRegisterAppender("testAppender");
- try
- {
- _policy.rollover();
- verify(_delegate).rollover();
- _policy.rollover();
- assertLoggedEvent(loggerAppender, true,
RollingPolicyDecorator.WARNING_MESSAGE, RollingPolicyDecorator.class.getName(),
Level.WARN);
- }
- finally
- {
- deleteAndUnregisterAppender(loggerAppender);
- }
+ _policy.rollover();
+ verify(_delegate).rollover();
+ Matcher<String[]> matcher = getMatcher(new
String[]{_testFile.getName()});
+ verify(_listener).onRollover(eq(_baseFolder.toPath()),
argThat(matcher));
+ _policy.rollover();
+ verify(_delegate, times(2)).rollover();
+ verify(_listener).onNoRolloverDetected(eq(_baseFolder.toPath()),
argThat(matcher));
}
public void testSequentialRollover() throws IOException
Modified:
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/util/LoggerTestHelper.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/util/LoggerTestHelper.java?rev=1689633&r1=1689632&r2=1689633&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/util/LoggerTestHelper.java
(original)
+++
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/util/LoggerTestHelper.java
Tue Jul 7 12:03:33 2015
@@ -64,7 +64,7 @@ public class LoggerTestHelper
List<ILoggingEvent> events;
synchronized(appender)
{
- events = new ArrayList<>(appender.list);
+ events = new ArrayList<ILoggingEvent>(appender.list);
}
boolean logged = false;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]