You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by gc...@apache.org on 2015/02/04 23:04:02 UTC
svn commit: r1657417 - in /lucene/dev/trunk/solr/core/src:
java/org/apache/solr/core/SolrCore.java
test/org/apache/solr/handler/RequestLoggingTest.java
Author: gchanan
Date: Wed Feb 4 22:04:02 2015
New Revision: 1657417
URL: http://svn.apache.org/r1657417
Log:
SOLR-6919: Use separate logger for SolrCore request logging
Modified:
lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/SolrCore.java
lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/RequestLoggingTest.java
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/SolrCore.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/SolrCore.java?rev=1657417&r1=1657416&r2=1657417&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/SolrCore.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/SolrCore.java Wed Feb 4 22:04:02 2015
@@ -162,7 +162,8 @@ public final class SolrCore implements S
public static Map<SolrCore,Exception> openHandles = Collections.synchronizedMap(new IdentityHashMap<SolrCore, Exception>());
- public static Logger log = LoggerFactory.getLogger(SolrCore.class);
+ public static final Logger log = LoggerFactory.getLogger(SolrCore.class);
+ public static final Logger requestLog = LoggerFactory.getLogger(SolrCore.class.getName() + ".Request");
private String name;
private String logid; // used to show what name is set
@@ -1998,9 +1999,9 @@ public final class SolrCore implements S
preDecorateResponse(req, rsp);
- if (log.isDebugEnabled() && rsp.getToLog().size() > 0) {
+ if (requestLog.isDebugEnabled() && rsp.getToLog().size() > 0) {
// log request at debug in case something goes wrong and we aren't able to log later
- log.debug(rsp.getToLogAsString(logid));
+ requestLog.debug(rsp.getToLogAsString(logid));
}
// TODO: this doesn't seem to be working correctly and causes problems with the example server and distrib (for example /spell)
@@ -2012,8 +2013,8 @@ public final class SolrCore implements S
postDecorateResponse(handler, req, rsp);
if (rsp.getToLog().size() > 0) {
- if (log.isInfoEnabled()) {
- log.info(rsp.getToLogAsString(logid));
+ if (requestLog.isInfoEnabled()) {
+ requestLog.info(rsp.getToLogAsString(logid));
}
if (log.isWarnEnabled()) {
Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/RequestLoggingTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/RequestLoggingTest.java?rev=1657417&r1=1657416&r2=1657417&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/RequestLoggingTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/RequestLoggingTest.java Wed Feb 4 22:04:02 2015
@@ -28,53 +28,56 @@ import org.apache.log4j.SimpleLayout;
import org.apache.log4j.WriterAppender;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.core.SolrCore;
-import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
public class RequestLoggingTest extends SolrTestCaseJ4 {
- private static final Logger solrLogger = Logger.getLogger(SolrCore.class);
-
- private Level oldLevel;
-
- private Appender appender;
-
private StringWriter writer;
-
+ private Appender appender;
+
@BeforeClass
public static void beforeClass() throws Exception {
initCore("solrconfig.xml", "schema.xml");
}
-
+
@Before
- public void setupLogger() {
- oldLevel = solrLogger.getLevel();
- solrLogger.setLevel(Level.DEBUG);
-
+ public void setupAppender() {
writer = new StringWriter();
appender = new WriterAppender(new SimpleLayout(), writer);
-
- solrLogger.addAppender(appender);
}
-
- @After
- public void resetLogger() {
- solrLogger.setLevel(oldLevel);
- solrLogger.removeAppender(appender);
+
+ @Test
+ public void testLogBeforeExecuteWithCoreLogger() {
+ Logger logger = Logger.getLogger(SolrCore.class);
+ testLogBeforeExecute(logger);
}
-
+
@Test
- public void testLogBeforeExecute() {
- assertQ(req("q", "*:*"));
-
- String output = writer.toString();
- Matcher matcher = Pattern.compile("DEBUG.*q=\\*:\\*.*").matcher(output);
- assertTrue(matcher.find());
- final String group = matcher.group();
- final String msg = "Should not have post query information";
- assertFalse(msg, group.contains("hits"));
- assertFalse(msg, group.contains("status"));
- assertFalse(msg, group.contains("QTime"));
+ public void testLogBeforeExecuteWithRequestLogger() {
+ Logger logger = Logger.getLogger("org.apache.solr.core.SolrCore.Request");
+ testLogBeforeExecute(logger);
+ }
+
+ public void testLogBeforeExecute(Logger logger) {
+ Level level = logger.getLevel();
+ logger.setLevel(Level.DEBUG);
+ logger.addAppender(appender);
+
+ try {
+ assertQ(req("q", "*:*"));
+
+ String output = writer.toString();
+ Matcher matcher = Pattern.compile("DEBUG.*q=\\*:\\*.*").matcher(output);
+ assertTrue(matcher.find());
+ final String group = matcher.group();
+ final String msg = "Should not have post query information";
+ assertFalse(msg, group.contains("hits"));
+ assertFalse(msg, group.contains("status"));
+ assertFalse(msg, group.contains("QTime"));
+ } finally {
+ logger.setLevel(level);
+ logger.removeAppender(appender);
+ }
}
}