
io.tracee.contextlogger.builder.gson.TraceeGsonContextLogBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of tracee-context-logger-impl Show documentation
Show all versions of tracee-context-logger-impl Show documentation
Please refer to https://github.com/holisticon/tracee.
The newest version!
package io.tracee.contextlogger.builder.gson;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import io.tracee.contextlogger.builder.AbstractContextLogBuilder;
import io.tracee.contextlogger.data.subdata.tracee.PassedDataContextProvider;
import io.tracee.contextlogger.profile.ProfileSettings;
/**
* Context Logger implementation for gson.
* Created by Tobias Gindler, holisticon AG on 20.03.14.
*/
public class TraceeGsonContextLogBuilder extends AbstractContextLogBuilder {
private Gson gson = null;
/**
* 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 log(Object... instancesToLog) {
return getOrCreateGson().toJson(instancesToLog);
}
@Override
public final String logPassedContext(PassedDataContextProvider passedContextData) {
return getOrCreateGson().toJson(passedContextData);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy