diff --git a/mantis-control-plane/mantis-control-plane-server/src/main/java/io/mantisrx/master/jobcluster/JobClusterActor.java b/mantis-control-plane/mantis-control-plane-server/src/main/java/io/mantisrx/master/jobcluster/JobClusterActor.java index 7113449e8..b317fab38 100644 --- a/mantis-control-plane/mantis-control-plane-server/src/main/java/io/mantisrx/master/jobcluster/JobClusterActor.java +++ b/mantis-control-plane/mantis-control-plane-server/src/main/java/io/mantisrx/master/jobcluster/JobClusterActor.java @@ -147,6 +147,7 @@ import java.util.stream.Collectors; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.slf4j.MDC; import rx.Observable; import rx.functions.Action1; import rx.schedulers.Schedulers; @@ -600,6 +601,7 @@ private Receive buildInitializedBehavior() { // UNEXPECTED MESSAGES END // .match(Terminated.class, this::onTerminated) .matchAny(x -> { + MDC.put("name", name); logger.info("unexpected message '{}' received by JobCluster actor {} in Initialized State." + "from class {}", x, this.name, x.getClass().getCanonicalName()); // TODO getSender().tell(); @@ -613,6 +615,7 @@ MetricGroupId getMetricGroupId(String name) { @Override public void preStart() throws Exception { + MDC.put("name", name); logger.info("JobClusterActor {} started", name); super.preStart(); } @@ -625,10 +628,12 @@ public void postStop() throws Exception { // de-register metrics from MetricsRegistry MetricsRegistry.getInstance().remove(getMetricGroupId(name)); } + MDC.remove("name"); } @Override public void preRestart(Throwable t, Optional m) throws Exception { + MDC.put("name", name); logger.info("{} preRestart {} (exc: {})", name, m, t.getMessage()); // do not kill all children, which is the default here // super.preRestart(t, m); @@ -636,6 +641,7 @@ public void preRestart(Throwable t, Optional m) throws Exception { @Override public void postRestart(Throwable reason) throws Exception { + MDC.put("name", name); logger.info("{} postRestart (exc={})", name, reason.getMessage()); super.postRestart(reason); } @@ -672,6 +678,7 @@ private void setExpiredJobsTimer(long checkAgainInSecs) { @Override public void onJobClusterInitialize(JobClusterProto.InitializeJobClusterRequest initReq) { ActorRef sender = getSender(); + MDC.put("name", name); logger.info("In onJobClusterInitialize {}", this.name); if (logger.isDebugEnabled()) { logger.debug("Init Request {}", initReq); diff --git a/mantis-control-plane/mantis-control-plane-server/src/main/java/io/mantisrx/master/jobcluster/job/JobActor.java b/mantis-control-plane/mantis-control-plane-server/src/main/java/io/mantisrx/master/jobcluster/job/JobActor.java index 3ff9562bf..a5235c9ce 100644 --- a/mantis-control-plane/mantis-control-plane-server/src/main/java/io/mantisrx/master/jobcluster/job/JobActor.java +++ b/mantis-control-plane/mantis-control-plane-server/src/main/java/io/mantisrx/master/jobcluster/job/JobActor.java @@ -77,6 +77,7 @@ import java.util.stream.Collectors; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.slf4j.MDC; import rx.Observable; import rx.schedulers.Schedulers; import rx.subjects.BehaviorSubject; @@ -236,6 +237,7 @@ MetricGroupId getMetricGroupId(String id) { * @throws InvalidJobException */ void initialize(boolean isSubmit) throws Exception { + MDC.put("jobId", jobId.toString()); LOGGER.info("Initializing Job {}", jobId); if (isSubmit) { @@ -1758,6 +1760,7 @@ public void shutdown() { jobSchedulingInfoBehaviorSubject.onCompleted(); LOGGER.trace("Exit shutdown for Job {}", jobId); + MDC.remove("jobId"); } private void terminateAllWorkersAsync() { diff --git a/mantis-control-plane/mantis-control-plane-server/src/test/resources/log4j.properties b/mantis-control-plane/mantis-control-plane-server/src/test/resources/log4j.properties index ec05ccb93..dcd49993a 100644 --- a/mantis-control-plane/mantis-control-plane-server/src/test/resources/log4j.properties +++ b/mantis-control-plane/mantis-control-plane-server/src/test/resources/log4j.properties @@ -21,6 +21,6 @@ log4j.rootLogger=INFO, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %c{1}:%L - %m %X{akkaSource}%n +log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %X{name} %X{jobId} %-5p [%t] %c{1}:%L - %m %X{akkaSource}%n log4j.logger.com.netflix.fenzo=INFO