package com.sequenceiq.periscope.log;
import org.slf4j.MDC;
import com.sequenceiq.periscope.domain.Cluster;
import com.sequenceiq.periscope.domain.PeriscopeUser;
public class MDCBuilder {
private MDCBuilder() {
}
public static void buildMdcContext() {
buildMdcContext(null);
}
public static void buildMdcContext(Cluster cluster) {
if (cluster == null) {
MDC.put(LoggerContextKey.OWNER_ID.toString(), "periscope");
} else {
MDC.put(LoggerContextKey.OWNER_ID.toString(), cluster.getUser().getId());
MDC.put(LoggerContextKey.RESOURCE_ID.toString(), String.valueOf(cluster.getId()));
MDC.put(LoggerContextKey.CB_STACK_ID.toString(), String.valueOf(cluster.getStackId()));
}
}
public static void buildMdcContext(PeriscopeUser user, Long clusterId) {
buildUserMdcContext(user);
MDC.put(LoggerContextKey.RESOURCE_ID.toString(), String.valueOf(clusterId));
}
public static void buildUserMdcContext(PeriscopeUser user) {
if (user != null) {
MDC.put(LoggerContextKey.OWNER_ID.toString(), user.getId());
}
}
}