Skip to content

Commit bf538bc

Browse files
authored
Improve recently added log messages by adding context to indicate which build is relevant (#640)
1 parent f2321cf commit bf538bc

File tree

4 files changed

+34
-55
lines changed

4 files changed

+34
-55
lines changed

src/main/java/hudson/tasks/junit/CaseResult.java

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
import java.util.HashMap;
4242
import java.util.List;
4343
import java.util.Map;
44-
import java.util.logging.Level;
4544
import java.util.logging.Logger;
4645
import javax.xml.stream.XMLStreamException;
4746
import javax.xml.stream.XMLStreamReader;
@@ -269,7 +268,7 @@ public static float clampDuration(float d) {
269268
return Math.min(365.0f * 24 * 60 * 60, Math.max(0.0f, d));
270269
}
271270

272-
public static CaseResult parse(SuiteResult parent, final XMLStreamReader reader, String ver)
271+
static CaseResult parse(SuiteResult parent, final XMLStreamReader reader, String context, String ver)
273272
throws XMLStreamException {
274273
CaseResult r = new CaseResult(parent, null, null, null);
275274
while (reader.hasNext()) {
@@ -318,19 +317,17 @@ public static CaseResult parse(SuiteResult parent, final XMLStreamReader reader,
318317
break;
319318
case "properties":
320319
r.properties = new HashMap<>();
321-
parseProperties(r.properties, reader, ver);
320+
parseProperties(r.properties, reader, context, ver);
322321
break;
323322
default:
324-
if (LOGGER.isLoggable(Level.FINEST)) {
325-
LOGGER.finest("CaseResult.parse encountered an unknown field: " + elementName);
326-
}
323+
LOGGER.finest(() -> "Unknown field in " + context + ": " + elementName);
327324
}
328325
}
329326
}
330327
return r;
331328
}
332329

333-
public static void parseProperties(Map<String, String> r, final XMLStreamReader reader, String ver)
330+
static void parseProperties(Map<String, String> r, final XMLStreamReader reader, String context, String ver)
334331
throws XMLStreamException {
335332
while (reader.hasNext()) {
336333
final int event = reader.next();
@@ -341,18 +338,16 @@ public static void parseProperties(Map<String, String> r, final XMLStreamReader
341338
final String elementName = reader.getLocalName();
342339
switch (elementName) {
343340
case "entry":
344-
parseProperty(r, reader, ver);
341+
parseProperty(r, reader, context, ver);
345342
break;
346343
default:
347-
if (LOGGER.isLoggable(Level.FINEST)) {
348-
LOGGER.finest("CaseResult.parseProperties encountered an unknown field: " + elementName);
349-
}
344+
LOGGER.finest(() -> "Unknown field in " + context + ": " + elementName);
350345
}
351346
}
352347
}
353348
}
354349

355-
public static void parseProperty(Map<String, String> r, final XMLStreamReader reader, String ver)
350+
static void parseProperty(Map<String, String> r, final XMLStreamReader reader, String context, String ver)
356351
throws XMLStreamException {
357352
String name = null, value = null;
358353
while (reader.hasNext()) {
@@ -374,9 +369,7 @@ public static void parseProperty(Map<String, String> r, final XMLStreamReader re
374369
}
375370
break;
376371
default:
377-
if (LOGGER.isLoggable(Level.FINEST)) {
378-
LOGGER.finest("CaseResult.parseProperty encountered an unknown field: " + elementName);
379-
}
372+
LOGGER.finest(() -> "Unknown field in " + context + ": " + elementName);
380373
}
381374
}
382375
}

src/main/java/hudson/tasks/junit/SuiteResult.java

Lines changed: 14 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
import java.util.List;
4141
import java.util.Map;
4242
import java.util.Set;
43-
import java.util.logging.Level;
4443
import java.util.logging.Logger;
4544
import java.util.regex.Matcher;
4645
import java.util.regex.Pattern;
@@ -160,7 +159,7 @@ public SuiteResult(SuiteResult src) {
160159
this.properties.putAll(src.properties);
161160
}
162161

163-
public static SuiteResult parse(final XMLStreamReader reader, String ver) throws XMLStreamException {
162+
static SuiteResult parse(final XMLStreamReader reader, String context, String ver) throws XMLStreamException {
164163
SuiteResult r = new SuiteResult("", null, null, null);
165164
while (reader.hasNext()) {
166165
final int event = reader.next();
@@ -171,7 +170,7 @@ public static SuiteResult parse(final XMLStreamReader reader, String ver) throws
171170
final String elementName = reader.getLocalName();
172171
switch (elementName) {
173172
case "cases":
174-
parseCases(r, reader, ver);
173+
parseCases(r, reader, context, ver);
175174
break;
176175
case "file":
177176
r.file = reader.getElementText();
@@ -199,10 +198,10 @@ public static SuiteResult parse(final XMLStreamReader reader, String ver) throws
199198
r.nodeId = reader.getElementText();
200199
break;
201200
case "enclosingBlocks":
202-
parseEnclosingBlocks(r, reader, ver);
201+
parseEnclosingBlocks(r, reader, context, ver);
203202
break;
204203
case "enclosingBlockNames":
205-
parseEnclosingBlockNames(r, reader, ver);
204+
parseEnclosingBlockNames(r, reader, context, ver);
206205
break;
207206
case "stdout":
208207
r.stdout = reader.getElementText();
@@ -212,19 +211,17 @@ public static SuiteResult parse(final XMLStreamReader reader, String ver) throws
212211
break;
213212
case "properties":
214213
r.properties = new HashMap<>();
215-
CaseResult.parseProperties(r.properties, reader, ver);
214+
CaseResult.parseProperties(r.properties, reader, context, ver);
216215
break;
217216
default:
218-
if (LOGGER.isLoggable(Level.FINEST)) {
219-
LOGGER.finest("SuiteResult.parse encountered an unknown field: " + elementName);
220-
}
217+
LOGGER.finest(() -> "Unknown field in " + context + ": " + elementName);
221218
}
222219
}
223220
}
224221
return r;
225222
}
226223

227-
public static void parseEnclosingBlocks(SuiteResult r, final XMLStreamReader reader, String ver)
224+
static void parseEnclosingBlocks(SuiteResult r, final XMLStreamReader reader, String context, String ver)
228225
throws XMLStreamException {
229226
while (reader.hasNext()) {
230227
final int event = reader.next();
@@ -238,16 +235,13 @@ public static void parseEnclosingBlocks(SuiteResult r, final XMLStreamReader rea
238235
r.enclosingBlocks.add(reader.getElementText());
239236
break;
240237
default:
241-
if (LOGGER.isLoggable(Level.FINEST)) {
242-
LOGGER.finest(
243-
"SuiteResult.parseEnclosingBlocks encountered an unknown field: " + elementName);
244-
}
238+
LOGGER.finest(() -> "Unknown field in " + context + ": " + elementName);
245239
}
246240
}
247241
}
248242
}
249243

250-
public static void parseEnclosingBlockNames(SuiteResult r, final XMLStreamReader reader, String ver)
244+
static void parseEnclosingBlockNames(SuiteResult r, final XMLStreamReader reader, String context, String ver)
251245
throws XMLStreamException {
252246
while (reader.hasNext()) {
253247
final int event = reader.next();
@@ -261,16 +255,14 @@ public static void parseEnclosingBlockNames(SuiteResult r, final XMLStreamReader
261255
r.enclosingBlockNames.add(reader.getElementText());
262256
break;
263257
default:
264-
if (LOGGER.isLoggable(Level.FINEST)) {
265-
LOGGER.finest("SuiteResult.parseEnclosingBlockNames encountered an unknown field: "
266-
+ elementName);
267-
}
258+
LOGGER.finest(() -> "Unknown field in " + context + ": " + elementName);
268259
}
269260
}
270261
}
271262
}
272263

273-
public static void parseCases(SuiteResult r, final XMLStreamReader reader, String ver) throws XMLStreamException {
264+
static void parseCases(SuiteResult r, final XMLStreamReader reader, String context, String ver)
265+
throws XMLStreamException {
274266
while (reader.hasNext()) {
275267
final int event = reader.next();
276268
if (event == XMLStreamReader.END_ELEMENT && reader.getLocalName().equals("cases")) {
@@ -280,12 +272,10 @@ public static void parseCases(SuiteResult r, final XMLStreamReader reader, Strin
280272
final String elementName = reader.getLocalName();
281273
switch (elementName) {
282274
case "case":
283-
r.cases.add(CaseResult.parse(r, reader, ver));
275+
r.cases.add(CaseResult.parse(r, reader, context, ver));
284276
break;
285277
default:
286-
if (LOGGER.isLoggable(Level.FINEST)) {
287-
LOGGER.finest("SuiteResult.parseCases encountered an unknown field: " + elementName);
288-
}
278+
LOGGER.finest(() -> "Unknown field in " + context + ": " + elementName);
289279
}
290280
}
291281
}

src/main/java/hudson/tasks/junit/TestResult.java

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -312,25 +312,25 @@ public TestResult(TestResult src) {
312312
}
313313
}
314314

315-
public static XMLInputFactory getXmlFactory() {
315+
static XMLInputFactory getXmlFactory() {
316316
return xmlFactory;
317317
}
318318

319-
public void parse(XmlFile f) throws XMLStreamException, IOException {
319+
void parse(XmlFile f) throws XMLStreamException, IOException {
320320
try (Reader r = f.readRaw()) {
321321
final XMLStreamReader reader = getXmlFactory().createXMLStreamReader(r);
322322
while (reader.hasNext()) {
323323
final int event = reader.next();
324324
if (event == XMLStreamReader.START_ELEMENT
325325
&& reader.getName().getLocalPart().equals("result")) {
326-
parseXmlResult(reader);
326+
parseXmlResult(reader, f.getFile().toString());
327327
}
328328
}
329329
r.close();
330330
}
331331
}
332332

333-
private void parseXmlResult(final XMLStreamReader reader) throws XMLStreamException {
333+
private void parseXmlResult(final XMLStreamReader reader, String context) throws XMLStreamException {
334334
String ver = reader.getAttributeValue(null, "plugin");
335335
while (reader.hasNext()) {
336336
int event = reader.next();
@@ -341,7 +341,7 @@ private void parseXmlResult(final XMLStreamReader reader) throws XMLStreamExcept
341341
final String elementName = reader.getLocalName();
342342
switch (elementName) {
343343
case "suites":
344-
parseXmlSuites(reader, ver);
344+
parseXmlSuites(reader, context, ver);
345345
break;
346346
case "duration":
347347
duration = CaseResult.clampDuration(new TimeToFloat(reader.getElementText()).parse());
@@ -366,15 +366,13 @@ private void parseXmlResult(final XMLStreamReader reader) throws XMLStreamExcept
366366
startTime = Long.parseLong(reader.getElementText());
367367
break;
368368
default:
369-
if (LOGGER.isLoggable(Level.FINEST)) {
370-
LOGGER.finest("TestResult.parseXmlResult encountered an unknown field: " + elementName);
371-
}
369+
LOGGER.finest(() -> "Unknown field in " + context + ": " + elementName);
372370
}
373371
}
374372
}
375373
}
376374

377-
private void parseXmlSuites(final XMLStreamReader reader, String ver) throws XMLStreamException {
375+
private void parseXmlSuites(final XMLStreamReader reader, String context, String ver) throws XMLStreamException {
378376
while (reader.hasNext()) {
379377
final int event = reader.next();
380378
if (event == XMLStreamReader.END_ELEMENT && reader.getLocalName().equals("suites")) {
@@ -384,12 +382,10 @@ private void parseXmlSuites(final XMLStreamReader reader, String ver) throws XML
384382
final String elementName = reader.getLocalName();
385383
switch (elementName) {
386384
case "suite":
387-
suites.add(SuiteResult.parse(reader, ver));
385+
suites.add(SuiteResult.parse(reader, context, ver));
388386
break;
389387
default:
390-
if (LOGGER.isLoggable(Level.FINEST)) {
391-
LOGGER.finest("TestResult.parseXmlSuites encountered an unknown field: " + elementName);
392-
}
388+
LOGGER.finest(() -> "Unknown field in " + context + ": " + elementName);
393389
}
394390
}
395391
}

src/main/java/hudson/tasks/junit/TestResultAction.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
import java.util.Collections;
5252
import java.util.List;
5353
import java.util.concurrent.ConcurrentHashMap;
54+
import java.util.concurrent.TimeUnit;
5455
import java.util.logging.Level;
5556
import java.util.logging.Logger;
5657
import jenkins.tasks.SimpleBuildStep;
@@ -69,7 +70,6 @@
6970
@SuppressFBWarnings(value = "UG_SYNC_SET_UNSYNC_GET", justification = "False positive")
7071
public class TestResultAction extends AbstractTestResultAction<TestResultAction>
7172
implements StaplerProxy, SimpleBuildStep.LastBuildAction {
72-
private static final Logger LOGGER = Logger.getLogger(TestResultAction.class.getName());
7373
private transient WeakReference<TestResult> result;
7474

7575
/** null only if there is a {@link JunitTestResultStorage} */
@@ -179,8 +179,8 @@ public synchronized TestResult getResult() {
179179
skipCount = r.getSkipCount();
180180
}
181181
long d = System.nanoTime() - started;
182-
if (d > 500000000L && LOGGER.isLoggable(Level.WARNING)) {
183-
LOGGER.warning("TestResultAction.load took " + d / 1000000L + " ms.");
182+
if (d > TimeUnit.MILLISECONDS.toNanos(500)) {
183+
logger.warning(() -> "Took " + TimeUnit.NANOSECONDS.toMillis(d) + " ms to load test results for " + run);
184184
}
185185
return r;
186186
}

0 commit comments

Comments
 (0)