@Override public final String log(Object... instancesToLog) { return getOrCreateGson().toJson(instancesToLog); }
/** * Creates a TraceeGsonContextLogBuilder instance which can be used for creating the log message. * * @return An instance of TraceeGsonContextLogBuilder */ private TraceeGsonContextLogBuilder createGsonLogBuilder() { TraceeGsonContextLogBuilder tmpTraceeGsonContextLogBuilder = new TraceeGsonContextLogBuilder(); tmpTraceeGsonContextLogBuilder.setWrapperClasses(contextLoggerConfiguration.getWrapperClasses()); tmpTraceeGsonContextLogBuilder.setManualContextOverrides(configBuilder.getManualContextOverrides()); tmpTraceeGsonContextLogBuilder.setProfile(this.configBuilder.getProfile()); return tmpTraceeGsonContextLogBuilder; } }
/** * Gets or creates the gson instance generation of output. */ private Gson getOrCreateGson() { if (gson == null) { final GsonBuilder gsonBuilder = new GsonBuilder(); final TraceeGenericGsonSerializer gsonSerializer = new TraceeGenericGsonSerializer(new ProfileSettings(this.getProfile(), this.getManualContextOverrides())); for (Class clazz : this.getWrapperClasses()) { gsonBuilder.registerTypeAdapter(clazz, gsonSerializer); } gson = gsonBuilder.create(); } return gson; }
@Override public final String logPassedContext(PassedDataContextProvider passedContextData) { return getOrCreateGson().toJson(passedContextData); }