mirror of https://github.com/apache/lucene.git
SOLR-3157: improve logging, restore legacy logging if not testing
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1294911 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
f75eae6217
commit
2b055c2195
|
@ -186,8 +186,8 @@ sb.append("(group_name=").append(tg.getName()).append(")");
|
||||||
|
|
||||||
if (info != null) {
|
if (info != null) {
|
||||||
sb.append(' ').append(info.shortId); // core
|
sb.append(' ').append(info.shortId); // core
|
||||||
} else if (zkController != null) {
|
}
|
||||||
// if we don't have info about the core, then at least try to do core container
|
if (zkController != null) {
|
||||||
sb.append(" P").append(zkController.getHostPort());
|
sb.append(" P").append(zkController.getHostPort());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1514,6 +1514,9 @@ public final class SolrCore implements SolrInfoMBean {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @lucene.internal use the more consiste testLoggingFormat for tests... for use with SolrLogFormatter */
|
||||||
|
public static boolean isTestLoggingFormat;
|
||||||
|
|
||||||
|
|
||||||
public void execute(SolrRequestHandler handler, SolrQueryRequest req, SolrQueryResponse rsp) {
|
public void execute(SolrRequestHandler handler, SolrQueryRequest req, SolrQueryResponse rsp) {
|
||||||
if (handler==null) {
|
if (handler==null) {
|
||||||
|
@ -1533,12 +1536,12 @@ public final class SolrCore implements SolrInfoMBean {
|
||||||
// for back compat, we set these now just in case other code
|
// for back compat, we set these now just in case other code
|
||||||
// are expecting them during handleRequest
|
// are expecting them during handleRequest
|
||||||
|
|
||||||
// multiple webaps are no longer best practise
|
if (!isTestLoggingFormat) {
|
||||||
// toLog.add("webapp", req.getContext().get("webapp"));
|
toLog.add("webapp", req.getContext().get("webapp"));
|
||||||
|
}
|
||||||
|
toLog.add(isTestLoggingFormat ? null : "path", req.getContext().get("path"));
|
||||||
|
toLog.add(isTestLoggingFormat ? null : "params", "{" + req.getParamString() + "}");
|
||||||
|
|
||||||
toLog.add("path", req.getContext().get("path"));
|
|
||||||
toLog.add("params", "{" + req.getParamString() + "}");
|
|
||||||
|
|
||||||
handler.handleRequest(req,rsp);
|
handler.handleRequest(req,rsp);
|
||||||
setResponseHeaderValues(handler,req,rsp);
|
setResponseHeaderValues(handler,req,rsp);
|
||||||
|
|
||||||
|
@ -1547,11 +1550,10 @@ public final class SolrCore implements SolrInfoMBean {
|
||||||
for (int i=0; i<toLog.size(); i++) {
|
for (int i=0; i<toLog.size(); i++) {
|
||||||
String name = toLog.getName(i);
|
String name = toLog.getName(i);
|
||||||
Object val = toLog.getVal(i);
|
Object val = toLog.getVal(i);
|
||||||
if ("path"==name || "params"==name) { //equals OK here
|
if (name != null) {
|
||||||
sb.append(val).append(' ');
|
sb.append(name).append('=');
|
||||||
} else {
|
|
||||||
sb.append(name).append('=').append(val).append(' ');
|
|
||||||
}
|
}
|
||||||
|
sb.append(val).append(' ');
|
||||||
}
|
}
|
||||||
|
|
||||||
log.info(sb.toString());
|
log.info(sb.toString());
|
||||||
|
|
|
@ -913,11 +913,10 @@ public class UpdateLog implements PluginInfoInitialized {
|
||||||
|
|
||||||
|
|
||||||
private RecoveryInfo recoveryInfo;
|
private RecoveryInfo recoveryInfo;
|
||||||
public static Logger loglog = LoggerFactory.getLogger(LogReplayer.class);
|
|
||||||
|
|
||||||
// TODO: do we let the log replayer run across core reloads?
|
// TODO: do we let the log replayer run across core reloads?
|
||||||
class LogReplayer implements Runnable {
|
class LogReplayer implements Runnable {
|
||||||
|
private Logger loglog = log; // set to something different?
|
||||||
|
|
||||||
TransactionLog translog;
|
TransactionLog translog;
|
||||||
TransactionLog.LogReader tlogReader;
|
TransactionLog.LogReader tlogReader;
|
||||||
|
|
|
@ -61,7 +61,7 @@ public class LogUpdateProcessorFactory extends UpdateRequestProcessorFactory {
|
||||||
}
|
}
|
||||||
|
|
||||||
class LogUpdateProcessor extends UpdateRequestProcessor {
|
class LogUpdateProcessor extends UpdateRequestProcessor {
|
||||||
public final static Logger log = LoggerFactory.getLogger(UpdateRequestProcessor.class);
|
public final static Logger log = LoggerFactory.getLogger(LogUpdateProcessor.class);
|
||||||
|
|
||||||
private final SolrQueryRequest req;
|
private final SolrQueryRequest req;
|
||||||
private final SolrQueryResponse rsp;
|
private final SolrQueryResponse rsp;
|
||||||
|
@ -182,15 +182,16 @@ class LogUpdateProcessor extends UpdateRequestProcessor {
|
||||||
NamedList<Object> stdLog = rsp.getToLog();
|
NamedList<Object> stdLog = rsp.getToLog();
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
for (int i=0; i<stdLog.size(); i++) {
|
|
||||||
String name = stdLog.getName(i);
|
for (int i=0; i<toLog.size(); i++) {
|
||||||
Object val = stdLog.getVal(i);
|
String name = toLog.getName(i);
|
||||||
if ("path"==name || "params"==name) { //equals OK here
|
Object val = toLog.getVal(i);
|
||||||
sb.append(val).append(' ');
|
if (name != null) {
|
||||||
} else {
|
sb.append(name).append('=');
|
||||||
sb.append(name).append('=').append(val).append(' ');
|
|
||||||
}
|
}
|
||||||
|
sb.append(val).append(' ');
|
||||||
}
|
}
|
||||||
|
|
||||||
stdLog.clear(); // make it so SolrCore.exec won't log this again
|
stdLog.clear(); // make it so SolrCore.exec won't log this again
|
||||||
|
|
||||||
// if id lists were truncated, show how many more there were
|
// if id lists were truncated, show how many more there were
|
||||||
|
@ -202,7 +203,7 @@ class LogUpdateProcessor extends UpdateRequestProcessor {
|
||||||
}
|
}
|
||||||
long elapsed = rsp.getEndTime() - req.getStartTime();
|
long elapsed = rsp.getEndTime() - req.getStartTime();
|
||||||
|
|
||||||
sb.append(toLog).append(" 0 ").append(elapsed);
|
sb.append(" 0 ").append(elapsed);
|
||||||
log.info(sb.toString());
|
log.info(sb.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -99,6 +99,7 @@ public abstract class SolrTestCaseJ4 extends LuceneTestCase {
|
||||||
|
|
||||||
|
|
||||||
public static void setupLogging() {
|
public static void setupLogging() {
|
||||||
|
SolrCore.isTestLoggingFormat = true;
|
||||||
boolean register = false;
|
boolean register = false;
|
||||||
Handler[] handlers = java.util.logging.Logger.getLogger("").getHandlers();
|
Handler[] handlers = java.util.logging.Logger.getLogger("").getHandlers();
|
||||||
ConsoleHandler consoleHandler = null;
|
ConsoleHandler consoleHandler = null;
|
||||||
|
|
Loading…
Reference in New Issue