@Override public JsonElement serialize(ILoggingEvent event, Type typeOfSrc, JsonSerializationContext context) { JsonObject json = new JsonObject(); json.addProperty("name", event.getLoggerName()); json.addProperty("host", hostname); json.addProperty("timestamp", Long.toString(event.getTimeStamp())); json.addProperty("level", event.getLevel().toString()); json.addProperty("className", classNameConverter.convert(event)); json.addProperty("method", methodConverter.convert(event)); json.addProperty("file", fileConverter.convert(event)); json.addProperty("line", lineConverter.convert(event)); json.addProperty("thread", event.getThreadName()); json.addProperty("message", event.getFormattedMessage()); json.addProperty("runnableName", runnableName); if (event.getThrowableProxy() == null) { json.add("throwable", JsonNull.INSTANCE); } else { json.add("throwable", context.serialize(new DefaultLogThrowable(event.getThrowableProxy()), LogThrowable.class)); } return json; } }
@Test public void testLineOfCaller() { assumeStackTraceDetailsAvailable(); DynamicConverter<ILoggingEvent> converter = new LineOfCallerConverter(); StringBuilder buf = new StringBuilder(); converter.write(buf, le); // the number below should be the line number of the previous line assertEquals("76", buf.toString()); }
@Override public JsonElement serialize(ILoggingEvent event, Type typeOfSrc, JsonSerializationContext context) { JsonObject json = new JsonObject(); json.addProperty("name", event.getLoggerName()); json.addProperty("host", hostname); json.addProperty("timestamp", Long.toString(event.getTimeStamp())); json.addProperty("level", event.getLevel().toString()); json.addProperty("className", classNameConverter.convert(event)); json.addProperty("method", methodConverter.convert(event)); json.addProperty("file", fileConverter.convert(event)); json.addProperty("line", lineConverter.convert(event)); json.addProperty("thread", event.getThreadName()); json.addProperty("message", event.getFormattedMessage()); json.addProperty("runnableName", runnableName); if (event.getThrowableProxy() == null) { json.add("throwable", JsonNull.INSTANCE); } else { json.add("throwable", context.serialize(new DefaultLogThrowable(event.getThrowableProxy()), LogThrowable.class)); } return json; } }