public String convert(ILoggingEvent event) { return event.getFormattedMessage(); }
@Override public String doLayout(ILoggingEvent event) { return event.getFormattedMessage() + CoreConstants.LINE_SEPARATOR; }
@Override public String getFormattedMessage() { return event.getFormattedMessage(); }
List<String> getRawMessages() { ArrayList<String> strings = new ArrayList<>(); for (ILoggingEvent event : events) { strings.add(event.getFormattedMessage()); } return strings; }
public synchronized boolean contains(Level level, String message) { for (ILoggingEvent event : appender.getRawEvents()) { if (event.getLevel().equals(level) && event.getFormattedMessage().contains(message)) { return true; } } return false; }
void bindLoggingEventWithInsertStatement(PreparedStatement stmt, ILoggingEvent event) throws SQLException { stmt.setLong(TIMESTMP_INDEX, event.getTimeStamp()); stmt.setString(FORMATTED_MESSAGE_INDEX, event.getFormattedMessage()); stmt.setString(LOGGER_NAME_INDEX, event.getLoggerName()); stmt.setString(LEVEL_STRING_INDEX, event.getLevel().toString()); stmt.setString(THREAD_NAME_INDEX, event.getThreadName()); stmt.setShort(REFERENCE_FLAG_INDEX, DBHelper.computeReferenceMask(event)); }
@Override public String doLayout(ILoggingEvent event) { if (!isStarted()) { return CoreConstants.EMPTY_STRING; } StringBuilder sb = new StringBuilder(); long timestamp = event.getTimeStamp(); sb.append(cachingDateFormatter.format(timestamp)); sb.append(" ["); sb.append(event.getThreadName()); sb.append("] "); sb.append(event.getLevel().toString()); sb.append(" "); sb.append(event.getLoggerName()); sb.append(" - "); sb.append(event.getFormattedMessage()); sb.append(CoreConstants.LINE_SEPARATOR); IThrowableProxy tp = event.getThrowableProxy(); if (tp != null) { String stackTrace = tpc.convert(event); sb.append(stackTrace); } return sb.toString(); }
/** * 返回之前append的第一个log的内容. */ public String getFirstMessage() { if (logs.isEmpty()) { return null; } return getFirstLog().getFormattedMessage(); }
/** * 返回之前append的最后一个log的内容. */ public String getLastMessage() { if (logs.isEmpty()) { return null; } return getLastLog().getFormattedMessage(); }
buf.append(Transform.escapeTags(event.getFormattedMessage())); buf.append("</log4j:message>\r\n");
private void assertContainsLogLine(List<ILoggingEvent> lines, final String line) { for (ILoggingEvent loggingEvent : lines) { if (loggingEvent.getFormattedMessage().equals(line)) { return; } } fail("Could not find log line that matches: " + line); }
private void testMessage(String msg, Level level, LogOutput.Level translatedLevel) { reset(listener); event = mock(ILoggingEvent.class); when(event.getFormattedMessage()).thenReturn(msg); when(event.getLevel()).thenReturn(level); appender.append(event); verify(event).getFormattedMessage(); verify(event).getLevel(); verify(event).getThrowableProxy(); verify(listener).log(msg, translatedLevel); verifyNoMoreInteractions(event, listener); }
private ILoggingEvent log(List<ILoggingEvent> events) { final Integer value = ThreadLocalRandom.current().nextInt(); testLogger.trace("{}", value); assertThat(events).hasSize(1); final ILoggingEvent event = events.remove(0); assertThat(event.getLevel()).isEqualTo(Level.TRACE); assertThat(event.getFormattedMessage()).isEqualTo(value.toString()); assertThat(event.getArgumentArray()).containsExactly(value); return event; }
@Override protected void append(ILoggingEvent event) { if (event.getThrowableProxy() == null) { target.log(event.getFormattedMessage(), translate(event.getLevel())); } else { ExtendedThrowableProxyConverter throwableConverter = new ExtendedThrowableProxyConverter(); throwableConverter.start(); target.log(event.getFormattedMessage() + "\n" + throwableConverter.convert(event), translate(event.getLevel())); throwableConverter.stop(); } }
values[i++] = loggingEvent.getFormattedMessage(); values[i++] = loggingEvent.getLoggerName(); values[i++] = loggingEvent.getLoggerContextVO();
private LogEntry logEntryFor(ILoggingEvent e) { StringBuilder payload = new StringBuilder(e.getFormattedMessage()).append('\n'); writeStack(e.getThrowableProxy(), "", payload); Level level = e.getLevel(); LogEntry.Builder builder = LogEntry.newBuilder(Payload.StringPayload.of(payload.toString().trim())) .setTimestamp(e.getTimeStamp()) .setSeverity(severityFor(level)); builder .addLabel(LEVEL_NAME_KEY, level.toString()) .addLabel(LEVEL_VALUE_KEY, String.valueOf(level.toInt())); if (loggingEnhancers != null) { for (LoggingEnhancer enhancer : loggingEnhancers) { enhancer.enhanceLogEntry(builder); } } if (loggingEventEnhancers != null) { for (LoggingEventEnhancer enhancer : loggingEventEnhancers) { enhancer.enhanceLogEntry(builder, e); } } return builder.build(); }
public String convert(ILoggingEvent event) { return event.getFormattedMessage(); }
/** * Receives a log from Logback, and sends it to the {@code LogsPane} object. * * @param event a Logback {@code ILoggingEvent} event. */ @Override protected void append(E event) { if (event instanceof ILoggingEvent) { ILoggingEvent loggingEvent = (ILoggingEvent) event; observable.notifyObservers(loggingEvent.getFormattedMessage()); } }
void bindLoggingEventWithInsertStatement(PreparedStatement stmt, ILoggingEvent event) throws SQLException { stmt.setLong(TIMESTMP_INDEX, event.getTimeStamp()); stmt.setString(FORMATTED_MESSAGE_INDEX, event.getFormattedMessage()); stmt.setString(LOGGER_NAME_INDEX, event.getLoggerName()); stmt.setString(LEVEL_STRING_INDEX, event.getLevel().toString()); stmt.setString(THREAD_NAME_INDEX, event.getThreadName()); stmt.setShort(REFERENCE_FLAG_INDEX, DBHelper.computeReferenceMask(event)); }
@Override protected void append(ILoggingEvent event) { if (inFlush.get()) { return; } if (event.getLevel() == Level.DEBUG && event.getLoggerName().startsWith("io.grpc.")) { return; } if (event.getLoggerName().startsWith("org.glowroot.central.") || event.getLoggerName().startsWith("org.glowroot.ui.")) { // this can happen during integration tests when agent and the central collector are // running in the same JVM (using LocalContainer for agent) return; } LogEvent.Builder builder = LogEvent.newBuilder() .setTimestamp(event.getTimeStamp()) .setLevel(toProto(event.getLevel())) .setLoggerName(event.getLoggerName()) .setMessage(event.getFormattedMessage()); IThrowableProxy throwable = event.getThrowableProxy(); if (throwable != null) { builder.setThrowable(toProto(throwable)); } flush(builder.build()); }