@Override public void write(String entry) throws IOException { final LoggingEvent event = new LoggingEvent(); event.setLevel(Level.INFO); event.setLoggerName("http.request"); event.setMessage(entry); event.setTimeStamp(System.currentTimeMillis()); appenders.appendLoopOnAppenders(event); }
/** * This method should be called prior to serializing an event. It should also * be called when using asynchronous or deferred logging. * <p/> * <p/> * Note that due to performance concerns, this method does NOT extract caller * data. It is the responsibility of the caller to extract caller information. */ public void prepareForDeferredProcessing() { this.getFormattedMessage(); this.getThreadName(); // fixes http://jira.qos.ch/browse/LBCLASSIC-104 this.getMDCPropertyMap(); }
public boolean hasLog(Level level, String message) { return TestLogbackAppender.events.stream() .filter(e -> e.getLoggerName().equals(loggerClass.getName())) .filter(e -> e.getLevel().levelStr.equals(level.name())) .anyMatch(e -> e.getFormattedMessage().equals(message)); }
private void buildLoggingEventAndAppend(final String localFQCN, final Marker marker, final Level level, final String msg, final Object[] params, final Throwable t) { LoggingEvent le = new LoggingEvent(localFQCN, this, level, msg, t, params); le.setMarker(marker); callAppenders(le); }
ex.writeLong(evt.getTimeStamp()); ex.writeInt(evt.getLevel().toInt()); Object[] args = evt.getArgumentArray(); int argLen = (null != args ? args.length : 0); ex.writeInt(argLen); Map<String, String> mdcProps = evt.getMDCPropertyMap(); int propsLen = (null != mdcProps ? mdcProps.size() : 0); ex.writeInt(propsLen); callerData = evt.getCallerData(); ex.writeUTF(evt.getThreadName()); ex.writeUTF(evt.getLoggerName()); ex.writeUTF(evt.getMessage()); for (Map.Entry<String, String> entry : evt.getMDCPropertyMap().entrySet()) { ex.writeUTF(entry.getKey()); ex.writeUTF(entry.getValue()); boolean hasCause = null != evt.getThrowableProxy(); ex.writeBoolean(hasCause); if (hasCause) { ex.writeObject((Throwable) evt.getThrowableProxy());
public LoggingEvent build(int i) { LoggingEvent le = new LoggingEvent(); le.setTimeStamp(System.currentTimeMillis()); Object[] aa = new Object[] { i, "HELLO WORLD [========== ]" + i }; le.setArgumentArray(aa); String msg = MSG + i; le.setMessage(msg); // compute formatted message // this forces le.formmatedMessage to be set (this is the whole point of the // exercise) le.getFormattedMessage(); le.setLevel(Level.DEBUG); le.setLoggerName(logger.getName()); le.setLoggerContextRemoteView(loggerContext.getLoggerContextRemoteView()); le.setThreadName("threadName"); return le; } }
@Test public void testFormattingTwoArg() { String message = "{}-{}"; Throwable throwable = null; Object[] argArray = new Object[] {12, 13}; LoggingEvent event = new LoggingEvent("", logger, Level.INFO, message, throwable, argArray); assertNull(event.formattedMessage); assertEquals("12-13", event.getFormattedMessage()); }
private void assertDeny(String logger, String loggerName, Boolean exclude) { LoggerFilter filter = create(loggerName, exclude); LoggingEvent event = new LoggingEvent(); event.setLevel(Level.INFO); event.setLoggerName(logger); assertEquals(FilterReply.DENY, filter.decide(event)); }
LoggingEvent copy = new LoggingEvent(); copy.setMessage(event.getMessage()); copy.setLevel(event.getLevel()); copy.setArgumentArray(event.getArgumentArray()); copy.setLoggerName(event.getLoggerName()); copy.setThreadName(event.getThreadName()); copy.setTimeStamp(event.getTimeStamp()); copy.setMDCPropertyMap(event.getMDCPropertyMap());
public ILoggingEvent build(int i) { LoggingEvent le = new LoggingEvent(); le.setTimeStamp(System.currentTimeMillis()); le.setLevel(Level.DEBUG); le.setLoggerName(logger.getName()); le.setLoggerContextRemoteView(loggerContext.getLoggerContextRemoteView()); le.setMessage(MSG_PREFIX); le.setThreadName("threadName"); return le; } }
LogItem item = new LogItem(); logItems.add(item); item.SetTime((int) (event.getTimeStamp() / 1000)); DateTime dateTime = new DateTime(event.getTimeStamp()); item.PushBack("time", dateTime.toString(formatter)); item.PushBack("level", event.getLevel().toString()); item.PushBack("thread", event.getThreadName()); StackTraceElement[] caller = event.getCallerData(); if (caller != null && caller.length > 0) { item.PushBack("location", caller[0].toString()); String message = event.getFormattedMessage(); item.PushBack("message", message); IThrowableProxy iThrowableProxy = event.getThrowableProxy(); if (iThrowableProxy != null) { String throwable = getExceptionInfo(iThrowableProxy); throwable += fullDump(event.getThrowableProxy().getStackTraceElementProxyArray()); item.PushBack("throwable", throwable);
/** * Generates a LoggingEvent * @param timestamp desired _timestamp (in ms) of event * @return the newly created LoggingEvent */ private LoggingEvent makeLoggingEvent(long timestamp) { LoggingEvent event = new LoggingEvent(FormattingConverter.class.getName(), _logger, Level.INFO, "Some message", null, null); event.setTimeStamp(timestamp); return event; }
private LoggingEvent createLoggingEvent(final Level level, final String message, final Object... params) { final LoggingEvent loggingEvent = new LoggingEvent(); loggingEvent.setMDCPropertyMap(singletonMap("job_id", "someJobId")); loggingEvent.setMessage(message); loggingEvent.setArgumentArray(params); loggingEvent.setLevel(level); loggingEvent.setMarker(JobMarker.JOB); return loggingEvent; } }
@Override public synchronized void doAppend(LoggingEvent event) { String message = event.getFormattedMessage(); cal.setTimeInMillis(event.getTimeStamp()); } else if ("x-pid".equals(field)) { sbuf.append(event.getThreadName()); } else { sbuf.append('\t'); try { event.setMessage(sbuf.toString());
ILoggingEvent createEventOfLevel(Level level) { LoggingEvent event = new LoggingEvent(); event.setLevel(level); return event; }
le.setArgumentArray(arguments); le.setMessage(message); le.setLevel(level); le.setLoggerContextRemoteView(loggerContextVO); le.setLoggerName(loggerName); le.setThreadName(entry.getThreadInfo()); le.setThrowableProxy(getThrowableProxy(entry.getException())); le.setTimeStamp(entry.getTime());
@Test public void shouldLogErrorWhenRegisterCommandWithoutSenderAnnotation() { //see https://github.com/MovingBlocks/Terasology/issues/2679 Appender<ILoggingEvent> appender = mockAppender(); ((ch.qos.logback.classic.Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME)).addAppender(appender); systemUnderTest.register(new SystemWithCommandMissingSenderAnnotation()); systemUnderTest.initialise(); ArgumentCaptor<LoggingEvent> loggingEventArgumentCaptor = ArgumentCaptor.forClass(LoggingEvent.class); verify(appender).doAppend(loggingEventArgumentCaptor.capture()); List<String> allErrorLogMessages = loggingEventArgumentCaptor.getAllValues().stream() .filter(e -> e.getLevel().isGreaterOrEqual(Level.ERROR)) .map(LoggingEvent::getFormattedMessage) .collect(toList()); String expectedMessage = "Command commandWithoutSenderAnnotation provided by " + "SystemWithCommandMissingSenderAnnotation contains a EntityRef without @Sender annotation, " + "may cause a NullPointerException"; assertThat(allErrorLogMessages, hasItem(expectedMessage)); }
for (int i = 0; i < count; i++) { le = (LoggingEvent) cyclicBufferAppender.get(i); logMsgs = logMsgs + ( i > 0?",{":"{") + "\"time\":\"" + dateFormat.format(le.getTimeStamp()) + "\",\"level\":\"" + le.getLevel().levelStr + "\",\"component\":\"" + le.getLoggerName() + "\",\"message\":\"" + TextStringFormatter.forJSON(le.getFormattedMessage()) + "\"}";
private void write(String message, Exception throwable) { for (OutputStreamAppender<ILoggingEvent> appender : appenders) { Logger logger = (Logger) LoggerFactory.getLogger(AgentOutputAppender.class); appender.doAppend(new LoggingEvent("", logger, Level.ERROR, message, throwable, null)); } }
@Test public void longTagTruncatedIfCheckLoggable() { LoggingEvent event = new LoggingEvent(); event.setMessage(TAG); boolean checkLoggable = true; setTagPattern(TAG, checkLoggable); String actualTag = logcatAppender.getTag(event); assertThat(TRUNCATED_TAG, is(actualTag)); assertThat(TAG, is(not(actualTag))); }