@Override @SuppressWarnings("PMD.AvoidInstantiatingObjectsInLoops") public Message[] getContextStack() { List<String> messages = threadLocalMessagePatterns.get(); if(messages == null) { return NO_MESSAGES; } int count=messages.size(); if(count == 0) { // should never happen clear(); return NO_MESSAGES; } List<String[]> args = threadLocalMessageArguments.get(); Message[] result=new Message[count]; for(int i=0;i<count;i++) { result[i]=new Message(messages.get(i), args.get(i)); } return result; } }
private void writeNdc(XMLStreamWriter writer, String prefix, LoggingEvent event) throws XMLStreamException { Message[] ndc = event.getNdc(); if(ndc != null) { StaxUtilities.writeStartElement(writer, prefix, NAMESPACE_URI, NDC_NODE); for(Message entry : ndc) { StaxUtilities.writeStartElement(writer, prefix, NAMESPACE_URI, NDC_ENTRY_NODE); StaxUtilities .writeSimpleTextNode(writer, prefix, NAMESPACE_URI, MESSAGE_NODE, entry.getMessagePattern()); writeArguments(writer, prefix, entry.getArguments()); writer.writeEndElement(); } writer.writeEndElement(); } }
@Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; LoggingEvent event = (LoggingEvent) o; return level == event.level && (sequenceNumber != null ? sequenceNumber.equals(event.sequenceNumber) : event.sequenceNumber == null) && (timeStamp != null ? timeStamp.equals(event.timeStamp) : event.timeStamp == null) && (logger != null ? logger.equals(event.logger) : event.logger == null) && (loggerContext != null ? loggerContext.equals(event.loggerContext) : event.loggerContext == null) && (message != null ? message.equals(event.message) : event.message == null) && (threadInfo != null ? threadInfo.equals(event.threadInfo) : event.threadInfo == null) && Arrays.equals(callStack, event.callStack) && (marker != null ? marker.equals(event.marker) : event.marker == null) && (mdc != null ? mdc.equals(event.mdc) : event.mdc == null) && Arrays.equals(ndc, event.ndc) && (throwable != null ? throwable.equals(event.throwable) : event.throwable == null); }
private Message readNdcEntry(XMLStreamReader reader) throws XMLStreamException { int type = reader.getEventType(); if(XMLStreamConstants.START_ELEMENT == type && NDC_ENTRY_NODE.equals(reader.getLocalName())) { reader.nextTag(); Message entry = new Message(); entry.setMessagePattern(StaxUtilities.readSimpleTextNodeIfAvailable(reader, null, MESSAGE_NODE)); List<String> args = readArguments(reader); if(args != null) { entry.setArguments(args.toArray(EMPTY_STRING_ARRAY)); } reader.require(XMLStreamConstants.END_ELEMENT, null, NDC_ENTRY_NODE); reader.nextTag(); return entry; } return null; }
@Override public boolean isTrue(Object value) { if(searchString == null) { return false; } if(searchString.length() == 0) { return true; } if(value instanceof EventWrapper) { EventWrapper wrapper = (EventWrapper) value; Object eventObj = wrapper.getEvent(); if(eventObj instanceof LoggingEvent) { LoggingEvent event = (LoggingEvent) eventObj; String message = null; Message messageObj = event.getMessage(); if(messageObj != null) { message = messageObj.getMessagePattern(); } return searchString.equals(message); } } return false; }
if(messageObj != null) message = messageObj.getMessage(); if(checkString(current.getMessage())) if(checkString(current.getMessagePattern()))
@Override public boolean isTrue(Object value) { if(searchString == null) { return false; } if(searchString.length() == 0) { return true; } if(value instanceof EventWrapper) { EventWrapper wrapper = (EventWrapper) value; Object eventObj = wrapper.getEvent(); if(eventObj instanceof LoggingEvent) { LoggingEvent event = (LoggingEvent) eventObj; String message = null; Message messageObj = event.getMessage(); if(messageObj != null) { message = messageObj.getMessage(); } return message != null && message.contains(searchString); } } return false; }
@Override public boolean isTrue(Object value) { if(searchString == null) { return false; } if(searchString.length() == 0) { return true; } if(value instanceof EventWrapper) { EventWrapper wrapper = (EventWrapper) value; Object eventObj = wrapper.getEvent(); if(eventObj instanceof LoggingEvent) { LoggingEvent event = (LoggingEvent) eventObj; String message = null; Message messageObj = event.getMessage(); if(messageObj != null) { message = messageObj.getMessagePattern(); } return message != null && message.contains(searchString); } } return false; }
@Override public boolean isTrue(Object value) { if(searchString == null) { return false; } if(searchString.length() == 0) { return true; } if(value instanceof EventWrapper) { EventWrapper wrapper = (EventWrapper) value; Object eventObj = wrapper.getEvent(); if(eventObj instanceof LoggingEvent) { LoggingEvent event = (LoggingEvent) eventObj; String message = null; Message messageObj = event.getMessage(); if(messageObj != null) { message = messageObj.getMessage(); } return searchString.equals(message); } } return false; }
if(message != null) String messagePattern = message.getMessagePattern(); if(messagePattern != null) writeArguments(writer, prefix, message.getArguments());
if(searchString.equals(current.getMessagePattern()))
if(searchString.equals(current.getMessage()))
@Test public void arguments() throws Throwable { LoggingEvent event = createMinimalEvent(); String[] arguments = new String[]{"arg1", "arg2"}; event.setMessage(new Message("message", arguments)); check(event); }
@Test public void nullArgument() throws Throwable { LoggingEvent event = createMinimalEvent(); String[] arguments = new String[]{"arg1", null, "arg3"}; event.setMessage(new Message("message", arguments)); check(event); }
if(messageStr != null) result.setMessage(new Message(messageStr));